如何拒绝 root SSH 登录 + 要求用户提供 SSH 密钥?

如何拒绝 root SSH 登录 + 要求用户提供 SSH 密钥?

看完之后这个类似的问题我不清楚如何要求 SSH 密钥user,同时拒绝 SSH 访问root(密钥或密码)。如果我需要成为 root,我将在以用户身份登录后使用 sudo。

我知道如何获取 SSH 密钥:

PermitRootLogin without-password

我知道如何禁止用户“root”登录:

PermitRootLogin no

我知道如何将用户列入白名单:

AllowUsers user

我不知道如何将所有这些组合在一起(或者是否有必要?- SSH 密钥可能就足够了)。我通常会通过反复试验来解决这样的答案,但我担心我会把自己锁在该服务器之外……

答案1

如果您想禁止密码登录,只需PasswordAuthentication nosshd_conf服务器上进行设置即可。

我不记得具体情况了,但我认为至少没有 root 登录是默认的。

尝试以系统上的任何用户身份登录时,如果其身份没有您的公钥,~/.ssh/authorized_keys则将要求输入密码(无论是否设置了密码或是否有可用的 shell,如果密码登录未被禁用)。

我认为你想要的只是:

密码验证否
PermitRootLogin 否

这将禁止任何 root 登录,无论是使用 ssh 密钥还是密码,并要求用户使用有效密钥登录,如该用户文件中的公钥所包含的~/.ssh/authorized_keys

相关内容