禁止 root 直接登录 sshd
登录VPS时必须用一个普通帐号登录,然后 su 成 root。可以修改 /etc/ssh/sshd_config 来禁止 root 直接登录:
PermitRootLogin no
启用 SSH Keys 登录
这种方法虽然不允许 root 用输入密码的方式直接登录 ssh,但是可以通过使用一对 ssh public/private key 来登录。配置步骤如下:
1、在客户端运行下面的命令,创建一对 public/private key:
ssh-keygen -t rsa
按照提示,上面的命令会创建2个文件:id_rsa 和 id_rsa.pub,前一个是 private key,后一个是 public key。创建key的时候会提示输入 passphrase,相当于密码一样的东西,用来保护 private key不被滥用。
2、保护好生成的 private key,不要让外界访问到。
3、在你要访问的服务器上创建一个 /root/.ssh/authorized_keys 文件,把生成的 publice key(id_rsa.pub)的内容 copy+paste 到 authorized_keys 里,注意小心完整的 copy,不要有空格/空行。
cat id_rsa.pub >> authorized_keys
4、禁止 root 用输入密码的方式直接登录 sshd,修改 /etc/ssh/sshd_config,加上/修改这一行:
PermitRootLogin without-password
重启 sshd
在Linux下:
/etc/init.d/sshd restart
P.S. http://www.vpsee.com/2009/07/2-methods-to-secure-root-access/