阅读时如何限制指定的 SSH 用户只能从一个 IP 或主机名连接?我几乎解决了特定登录时遇到的问题 - 但它并没有解决我的情况。
我需要确保192.168.10.0/24
通过密钥验证来自其他任何来源的到我主机的 ssh 连接。来自的连接192.168.10.0/24
可以使用这两种方式(如果存在问题,则仅使用基于密码的方式)。
这ssh_config
手册页在 PATTERNS 部分提到
authorized_keys
可以使用以下条目(在):from="!*.dialup.example.com,*.example.com"
这将允许一个与我的完全相反的解决方案:一些来源不是允许使用钥匙,但我不知道如何将其转化为我的需要。
当客户端无法从某些 IP 连接时,如何强制使用 ssh 密钥?
答案1
根据手册页,您可以将您的主机划分/etc/sshd_config
为与主机匹配的部分,使用第一个匹配的部分:
因此你可以:
# everything for your local hosts
Host 192.168.*.*
[...]
RSAAuthentication yes
PasswordAuthentication yes
[...]
# Everything for other hosts
Host *
[...]
RSAAuthentication yes
PasswordAuthentication no
[...]
为了避免所有重复,似乎有办法让块对特定主机有效:
Host *
[...]
RSAAuthentication yes
[...]
Match 192.168.*.*
PasswordAuthentication yes
Match all