如何设置SSH无密码密钥认证仅用于远程访问,允许本地用户使用密码

sen*_*ile 6 ubuntu ssh authentication public-key

我试图让运行 Ubuntu 10.04 的 SSH 服务器仅在来自本地网络时允许密码登录。对于所有其他用户,尤其是那些通过防火墙从 Internet 登录的用户,我想强制使用基于密钥的身份验证。我用谷歌搜索并找到了以下内容。

以下是我更改的内容/etc/ssh/sshd_config

PasswordAuthentication yes
Match Address 192.168.5.0/24
PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

有了这个,我从另一台具有 192.168.5 的机器登录。地址,但由于缺少公钥而不允许我进入:权限被拒绝(公钥)。

Mar*_*mos 9

这应该可以解决问题:

PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.5.* PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

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