Windows 7 上的 SSH 客户端无法通过主机名连接到 Linux sshd

Windows 7 上的 SSH 客户端无法通过主机名连接到 Linux sshd

我有一个简单的家庭网络设置,其中所有内容都通过宽带路由器路由。我有一个 Windows 7 盒子和一个 Gentoo Linux(当前)livecd 盒子,通过以太网电源连接到路由器。在永久安装 Linux 的过程中,通过 Windows 上的 SSH 通过 cli 进行操作。一开始,大约 5 天前,当我/etc/init.d/sshd start在 livecd 上运行时,我可以使用主机名“livecd”通过 Windows 7 连接到它。昨天,我的 putty 客户端找不到该盒子,直到我先使用它的 IP 地址对其进行 ping 操作。

今天 ping-then-putty 不起作用,所以我不得不在 putty 中输入 IP 地址而不是主机名。我不太担心,但我确实想知道找不到/解析主机名的原因——我认为这是某个地方的 DHCP 问题,对吗?

答案1

通过主机名访问取决于 DNS 或其他形式的名称解析(通常是 NetBIOS 或 mDNS)。

许多家用路由器充当 DHCP+DDNS 服务器,其 DNS 区域名为home.local.或类似名称,由路由器本身托管,并在发出 DHCP 请求时自动更新。(这当然要求 DHCP 请求包含系统的主机名。)

如果您的 Gentoo 系统已经运行了很长时间,并且路由器已经重新启动,则路由器可能会忘记所有租约和相应的 DDNS 条目。(我的就是这样。)也可能是租约已过期,而 Gentoo 没有续订。

确保有 DHCP 客户端正在运行(dhcpcddhclient)。如果正在运行,请告诉它续订 DHCP 租约(dhcpcd -n eth0)或完全重新启动客户端。


另一个常见选项是本地名称解析,通常是 Windows 使用的 NetBIOS 或 Linux/BSD 中的 mDNS。对于这两种情况,Gentoo 系统都必须运行适当的服务器(分别是 Sambanmbd或 Avahi avahi-daemon)。这很方便,但不太可能与您当前的问题有关,因为它们需要事先配置。

相关内容