我最近安装了 Fedora-25,但我遇到了问题/etc/ssh/sshd_config
。我尝试使用如下语句对其进行配置:
AllowUsers user@host
我无法通过 ssh 连接到目标计算机。相反,我在目标的/var/log/secure
日志文件中收到一条错误消息:“...未在 AllowUsers 中列出”。用户名是正确的,主机已在 中列出/etc/hosts
。
以下是我尝试过的:
- 当我用其 IP 地址替换主机名时,它就起作用了。
- 当我在前台启动目标计算机上的 ssh 守护程序进行调试(
/sbin/sshd -d
)时,它也使用主机名而不是 IP 来工作。 - 当我完全省略主机名(即“AllowUsers 用户”)时,它可以按预期工作,但我想要一个特定于客户端的配置。
- 我试过了
UseDNS no
,但是这并不影响情况。 - 我检查过了
/etc/nsswitch.conf
;一切看上去都是正确的。
显然,由于它适用于 IP,所以对我来说这不是什么大问题。但是,我更喜欢使用主机名。我还想了解在这种情况下主机和 IP 之间的区别是什么,以及为什么主机名不再起作用。
之前我安装了 Fedora-21,并且主机名在该版本中使用。
欢迎任何解释。
答案1
这个问题已经存在一年多了,但UseDNS yes
应该可以帮你解决,就像我刚刚解决的那样。
你说你尝试过了UseDNS no
,但无论如何那是默认的,所以什么都没有改变。
我认为该UseDNS
选项的命名错误,OpenSSH 团队应该将其称为UseNameResolution
,因为它no
似乎也可以防止/etc/hosts
查找,并且大概所有其他方法也是如此。