ubuntu – 如何仅为远程访问设置SSH无密钥密钥身份验证,允许本地用户使用密码

我试图让一台运行Ubuntu 10.04的SSH服务器只允许来自本地网络的密码登录.对于所有其他用户,特别是那些通过防火墙从互联网登录的用户,我想强制进行基于密钥的身份验证.我google了一下,发现了以下内容.

这是我在/ etc / ssh / sshd_config中更改的内容:

PasswordAuthentication yes
Match Address 192.168.5.0/24
PasswordAuthentication yes

有了它,我从另一台拥有192.168.5的机器登录.地址,但它不允许我缺少publicKey:
权限被拒绝(publickey).

最佳答案
这应该是诀窍:

PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.5.* PasswordAuthentication yes

默认情况下,前两行将启用pubkey身份验证.最后一行将覆盖匹配网络的其他两行(192.168.5.0/24).

转载注明原文:ubuntu – 如何仅为远程访问设置SSH无密钥密钥身份验证,允许本地用户使用密码 - 代码日志