解决方法
>为root&创建SSH密钥将公共一半添加到〜/ root / .ssh / authorized_keys.
>编辑/etc/ssh/sshd.conf – 将PermitRootLogin设置为无密码
>重新启动sshd
>测试它 – 确保您可以使用密钥通过SSH以root身份登录.
>测试单用户模式 - 确保它没有要求root的密码(一旦你完成第5步,root将无法再使用密码登录,因此破坏单用户模式可能是一件坏事)
>锁定root的登录密码(用*,x等替换/ etc / shadow中的密码字段)
笔记:
>你的机器仍然可以由任何可以走到控制台的人(因为单用户模式不会要求输入密码)生根,但是你的机器在尝试时会停机,这样你理论上就知道了.
>如果您将单用户模式配置为需要密码,则在系统上执行恢复工作的唯一方法是使用恢复CD,并且您与上面的安全船相同,但现在黑客很生气.
>您的计算机的网络配置文件现在仅与root的SSH密钥一样安全,因此请务必设置一个好的密码短语&把钥匙放在安全的地方.
>如果丢失SSH密钥,以root用户身份重新登录系统的唯一方法是在单用户模式下重启(或破解自己的机箱).
An alternate configuration is also possible where a separate sshd that listens for root logins is only avaliable on
localhost
& you use agent forwarding to log in as root. I know at least one major corporation that has that configuration,and it adds one more layer of security (and complexity).