无法使用 hostname.local ssh 进入主机

无法使用 hostname.local ssh 进入主机

当尝试使用 ssh 从终端连接到我的树莓派时:连接永远挂起。ssh [email protected]

当我 ping 时[电子邮件受保护],我得到ping: cannot resolve [email protected]: Unknown host

我可以使用 IP 地址进行 ping 和 ssh 操作:ssh [email protected]

不确定我是否需要配置笔记本电脑网络设置 (macOS) 或树莓派设置 (Debian) 才能通过主机名进行连接。

答案1

当您为主机指定主机名时,只有该主机知道它。任何其他主机根本不知道主机名(及其对应的 IP 地址)。名称服务(如 DNS、NIS 等)略有不同,它们通过网络“分发”这些知识。但就我们的目的而言,只有主机本人知道其主机名。

话虽如此:您想要从一个系统(让我们称之为“yourpc”)连接到另一个系统(“pi”)。为此,“yourpc”必须知道哪个 IP 地址对应于该名称“pi”。在没有任何名称服务的情况下,有一种方法可以启发“yourpc”,即:将主机名及其对应的IP地址输入到文件中/etc/hosts。事实上这就是这个文件的具体目的。

典型的/etc/hosts文件如下所示:

# Place comments after octothorpe signs, like in shell scripts
10.1.1.1       host1
10.1.1.2       host2
10.1.1.3       host3      # an inline comment is also possible
# you can also specify "aliases" - multiple names under which the host is also known
10.1.1.4       host4  myraspberrypi
...

作为事后的想法并感谢@Archemar 的建议:

用户名与 IP 级别无关。在这个级别,我们只处理主机(或者更确切地说,它们的接口)、网络和类似的实体。用户或他们的名字永远不会在此级别进入此图片。

使用上面的示例主机文件,以下内容都是相同的:

ssh [email protected]
ssh someuser@host4
ssh someuser@myraspberrypi

相关内容