无密码的 PermitRootLogin 是一种安全的方法吗?

无密码的 PermitRootLogin 是一种安全的方法吗?

我已经阅读了很多关于出于安全原因禁用 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。

我认为这是一个安全的选择。

也可以看看sshd_config 文件中“无密码”是什么意思?

相关内容