我已经阅读了很多关于出于安全原因禁用 root 用户通过 ssh 登录的文档。我已设置/etc/ssh/sshd_config
PermitRootLogin no
如果我禁用 root 登录,那么启动也需要假设用户名和密码。
如果我设置
PermitRootLogin without-password
那么这样做是安全的。如果我使用我的 sshkey 是否安全?请解释一下。
答案1
来自手册页人 sshd
允许Root登录
指定 root 是否可以使用 ssh(1) 登录。参数必须是 yes、prohibit-password、without-password、forced-commands-only 或 no。默认值为 inhibit-password。
如果将此选项设置为禁止密码或无密码,则会对 root 禁用密码和键盘交互式身份验证。
如果将此选项设置为 forced-commands-only,则将允许使用公钥身份验证的 root 登录,但前提是已指定命令选项(即使通常不允许 root 登录,这对于进行远程备份也很有用)。所有其他身份验证方法对 root 都禁用。
因此,“无密码”允许 root 通过除密码验证之外的任何方法登录。这可以包括 ssh 密钥和 kerberos。
我认为这是一个安全的选择。