无法使用主机名或本地 IP 地址通过 SSH 连接到我家 LAN 内的主机

无法使用主机名或本地 IP 地址通过 SSH 连接到我家 LAN 内的主机

我想从安装有 Ubuntu 14.04 的 X86_64 计算机上的 SSH 客户端访问 Raspberry Pi(安装有 Raspbian OS)上的 SSH 服务器,这两台计算机都位于同一个家庭 LAN 内。
我可以使用以下命令从 Raspberry Pi 进行 SSH:ssh pi@73.***.***.***;其中73.***.***.***ISP 分配给我的可路由互联网的 IP 地址是多少。但当我尝试时,终端立即返回:。同样,当我尝试时,终端返回。 此外,当我尝试时,终端提示我输入 pi@raspberrypi 的密码。输入密码后,什么都没有发生;没有错误消息,根本没有反馈。空白行开头只有一个闪烁的光标。闪烁的光标不在 shell 提示符后,即它不会出现在提示符后。我尝试时得到的结果与尝试时的结果类似。 我想要并且我认为我应该能够通过指定本地 IP 地址或主机名来执行 SSH,而不是依赖公共 IP 地址。如果可能的话,我该如何实现?有人建议我应该在(Ubuntu)计算机的 hosts 文件中添加一个条目来解决名称解析问题。我对 host 文件这个主题一无所知,不知道该怎么做。有人可以帮忙吗?ssh [email protected]ssh: Could not resolve hostname pi.local: Name or service not knownssh [email protected]ssh: Could not resolve hostname raspberrypi.local: Name or service not known
ssh pi@raspberrypifoo@localhost:~$ssh [email protected]ssh pi@raspberrypi

答案1

您可以编辑位于 etc 目录中的文件 hosts:

sudo nano /etc/hosts

在文件末尾输入以下行:

192.168.xxx.xxx pi.local

请记住,192.168.xxx.xxx 需要是你的树莓派的 IP 地址。

答案2

您的 /etc 目录中有一个名为 hosts 的文件。将条目添加到文件以解析主机名。您可以关联 ,raspberrypi以便192.168.2.16让您的系统解析raspberrypi192.168.2.16默认情况下,文件中只有一个条目localhost与 关联127.0.0.1。语法非常简单,仅由 IP 地址和主机名组成。

127.0.0.1 localhost

确保您的条目前面没有#,否则它只不过是代码中的注释。

每次输入 IP 地址时,系统都会使用此文件对其进行解析。如果在此文件中找不到主机名,则主机名将转发到您的默认网关进行解析。它会根据网络设计不断转发,最终您会收到错误hostname could not be resolved

您需要了解这个层次结构,并找出问题究竟出在哪里。由于您使用的是 LAN,所以我认为事情不会太复杂。

相关内容