sshd 可以使用密钥和密码来验证每个传入连接吗?

sshd 可以使用密钥和密码来验证每个传入连接吗?

我想要配置sshd以要求连接使用密钥和密码进行身份验证。

我还没有考虑使用 PAM 或其他外部身份验证方法,但我目前的猜测(基于)sshd_config(5)这是不可能的。请证明我错了,好吗?

答案1

如果您使用的是 openssh,我认为您无法做到这一点。还有其他 SSH2 守护进程允许扩展的 SSH2 指令,为您提供名为“RequiredAuthentications”和“AllowedAuthentications”的指令;两者都是用逗号分隔的列表。您可以在以下位置看到一个漂亮的兼容性图表:

http://hell.org.ua/Docs/oreilly/tcpip2/ssh/ch05_05.htm

如果您有此要求,则应更改 ssh 守护程序。配置如下:

AllowedAuthentications password,publickey
RequiredAuthentications password,publickey

干杯

答案2

如果您创建的证书上有密码,那么当您使用证书认证登录时,它将要求您输入该密码。

答案3

http://novosial.org/openssh/publickey-auth/

特别注意“密钥生成”以使用密码生成密钥,以及“密钥分发”以使用受密码保护的密钥登录到给定的服务器

相关内容