如何将 sshd 配置为 1) 需要公钥 _and_ 2) 需要密码才能登录?

Zty*_*tyx 5 openssh sshd

如何将 sshd 配置为 1) 需要公钥2) 需要密码才能登录?请注意,我在这里指的不是客户端密钥的对称加密。我指的是服务器端密码。

这可能吗?

Jak*_*uje 5

另一个答案中的链接答案真的很旧,从那时起发生了很多变化。所以再次:

如果您通读了 的手册页sshd_config(5),就会有一个选项AuthenticationMethods,它会列出您在被授予访问权限之前需要传递的方法列表。您需要的设置是:

AuthenticationMethods publickey,password
Run Code Online (Sandbox Code Playgroud)

此方法应该适用于所有当前使用最新 openssh(openssh-6、openssh-7)的 Linux 系统。

旧系统

我知道的唯一例外是 RHEL 6 (openssh-5.3),它需要使用相同的值设置不同的选项(如信息安全答案中所述):

RequiredAuthentications2 pubkey,password
Run Code Online (Sandbox Code Playgroud)