OpenSSH“from”授权选项仅适用于 IP 地址,不适用于主机名

OpenSSH“from”授权选项仅适用于 IP 地址,不适用于主机名

我在 Debian 8(Jessie)上使用 OpenSSH 6.7p1。

我使用公钥认证。作为其中的一部分,我在 authorized_keys 文件中使用了“from”授权选项。

我发现,当我通过 IP 地址指定允许的源主机时,访问限制会按预期工作。但是当我通过主机名指定允许的源主机时,访问权限未被授予。它会跳过公钥身份验证并要求输入密码。

authorized_keys 中的工作条目如下所示:

from="10.1.1.1" ssh-rsa ...

authorized_keys 中不起作用的条目如下所示:

from="snoopy" ssh-rsa ...

主机名“snoopy”由 /etc/hosts 文件解析。我没有在所涉及的任何一台机器上运行 DNS 客户端。所涉及的两台机器的 /etc/hosts 中都出现了以下条目:10.1.1.1 snoopy

有什么方法可以让它工作,或者这是我的 OpenSSH 版本的限制/问题?

答案1

对于 OpenSSH 服务器,此行为由服务器的“UseDNS”设置控制sshd_配置文件:

使用DNS
指定 sshd(8) 是否应查找远程主机名,并检查远程 IP 地址的解析主机名是否映射回相同的 IP 地址。
如果此选项设置为 no(默认值),则~/.ssh/authorized_keys 中只能使用地址,不能使用主机名来自和 sshd_config 匹配主机指令。

因此,如果你有权配置 ssh 服务器,那么你应该启用使用DNS在服务器配置文件中,然后重新启动 sshd。

请注意,启用使用DNS如果客户端 IP 地址上的 DNS 查找速度很慢或不起作用,则会导致 ssh 连接尝试短暂挂起(10-30 秒)。您可能会发现最好将此设置禁用。

相关内容