我试图让一台运行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).