Raspberry Pi:“找不到主机”

Raspberry Pi:“找不到主机”

我使用此资源更改了树莓派上的主机名:如何更改 Raspberry Pi(或其他 Linux 设备)的主机名

  • 当我使用 ssh 客户端上的主机名连接到我的 pi 上的 ssh 服务器时,它找不到主机。

  • 如果我使用 IP,它会连接到 pi。然后我登录并显示user@newhostname

设备的 IP 是动态的,我希望它保持这种状态。每次分配新 IP 时,我的设备都必须将其 IP 与主机名关联。也许这种情况没有发生?

答案1

我假设您是在谈论解析 LAN 内的服务器名称。要实现此功能,您必须至少具备以下其中之一:

  1. 您自己的 LAN 内部(或在配套 LAN 上,也为您的 LAN 执行此项工作)的一个正常工作的 DNS。

  2. 客户端 /etc/hosts 文件中的条目,关联名称和 IP 地址。

  3. ssh 服务器上有一个正在运行的 samba 服务器,您已在其中设置了服务器的 NetBIOS 名称。这样就可以通过 Microsoft 特定协议看到您。

  4. 最后,您可以使用多播,即 Apple 称之为 Bonjour。

这些可能性中的每一个都反映在您的文件 /et/nsswitch.conf 中,在以下行中:

 hosts:          files dns mdns4 mdns4_minimal wins 

这决定了这些不同服务的使用顺序;上面的顺序最适合我的 LAN,因为我确实有一个本地 DNS 服务器,但您的可能有所不同。

最简单的解决方案很可能是涉及 samba 的解决方案:安装 samba 服务器,

  sudo apt-get install samba

对于 Debian 和衍生产品,请进行相应更改,如果不是 Debian 和 Co.,则编辑文件/etc/samba/smb.conf,并设置线条

 workgroup = WORKGROUP
 NetBIOS name = YourPCNetBIOSName

反映适合您的电脑的数据,然后重新启动 samba 服务,

 sudo service samba restart

对于 Debian 及其衍生产品,现在您的 ssh 客户端将能够通过上面指定的名称 YourPCNetBIOSName 找到 ssh 服务器,前提是 ssh 客户端胜利自己的选择/etc/nsswitch.conf文件。

您可能还希望启用 mdns,以便能够与 Apple 的 PC 交互。经过多次尝试,我发现 Debian 及其衍生产品上默认未安装库 libnss-mdns,因此,为了能够使用多播域名服务 (mdns),您必须先安装它:

sudo apt-get install libnss-mdns

此时,您也可以解决 Apple 电脑的问题。

相关内容