问题是我无法通过主机名 SSH 连接到远程计算机,而使用其 IP 却可以。
命令返回的主机名hostname
是:california_desert
而命令返回的名称nslookup $IP_address
是:pcpp3238782
。他们彼此不匹配。
我认为这就是为什么我无法使用其主机名连接到远程计算机的原因。
我已经检查过/etc/hosts
,,/etc/hostname
:/etc/sysconfig/network
全部将主机名设置为california_desert
。
使用 进行检查后/etc/resolve.conf
,名称服务器已设置为正确的服务器。
也尝试过strace
但没有新线索。
有人可以帮忙吗?
答案1
这里的问题是主机名和主机文件仅用于它们所在的计算机。为了让其他计算机能够使用该主机名,它需要位于该域的 DNS 区域中。
可以这样想 - 您有一部电话,电话号码是 555-5555。您现在知道,要致电 California_desert,您需要拨打 555-5555。但没有其他人知道这一点。为了让其他人知道如何联系您,您需要在目录中注册您的电话号码。 DNS 就是那个目录服务。
当然,您也可以告诉朋友您的号码是555-5555,然后他们就可以直接给您打电话,而无需查找电话簿。对于 unix 系统,这就像将 California_desert 的主机名和 IP 添加到想要连接到它的每台服务器上的主机文件中。