sshd 无法识别“AllowUsers user@host”语句

sshd 无法识别“AllowUsers user@host”语句

我最近安装了 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查找,并且大概所有其他方法也是如此。

相关内容