我已读过几次关于禁用 root 登录以及使用其他用户以 root 身份执行 sudo 的操作。
但是,使用公钥是否同样安全,甚至更安全?
答案1
你应该绝对禁用远程以 root 身份登录的能力,如果可能的话还仅允许使用公钥/私钥对(而不是仅使用密码)进行登录验证。
浏览一下这有关如何强化 SSH 的最佳实践(尽管这是作为 CentOS 文档提供的,但它原则上适用于运行 sshd 作为 ssh 守护程序的任何发行版)。
答案2
您应该禁用远程主机的 root 登录,但从本地主机启用它。
以下是我的 openssh 服务器配置文件中大部分的重要行:
PermitRootLogin yes # 因为 AllowUsers
PasswordAuthentication no # 仅允许使用密钥进行连接
AllowUsers 用户 root@localhost
-A
当您以简单用户身份连接到服务器时,您仍然可以使用以下命令连接到 root 用户:
本地 $ ssh 用户@服务器-A
服务器 $ ssh root@localhost