![无法通过主机名 ssh 进入 Ubuntu 服务器](https://linux22.com/image/1077639/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%E4%B8%BB%E6%9C%BA%E5%90%8D%20ssh%20%E8%BF%9B%E5%85%A5%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我刚刚在一个旧盒子上安装了 Ubuntu 12.04 Server,并通过以太网连接到我的路由器。我按照说明设置了 openssh-server 以进行远程访问,但我无法使用主机名从我的笔记本电脑 ssh 进入它。
但奇怪的是,我可以使用 IP 地址 ssh 进入它。为了方便起见,我真的很想解决这个问题。我注意到有几个类似的问题,但似乎所有这些人都知道该朝哪个方向解决问题,并且正在问一些更具体、更技术性的问题。
作为家庭网络的完全初学者,如果有人能告诉我下一步该怎么做,我将非常感激。
答案1
除非您在中心位置配置主机名,否则您的笔记本电脑无法知道您在 Ubuntu 服务器上配置的主机名。
因此,如果您在安装 ubuntu 服务器时将其命名为“bonkers”,那么可以理解的是,笔记本电脑ssh bonkers
不会执行任何操作,因为笔记本电脑不知道该主机名。
可能的解决方案:
在您的笔记本电脑上(您没有说它运行的是哪个操作系统?)在 /etc/hosts 文件中添加一行用于您的 Ubuntu 服务器的 IP 地址,如下所示(使用您的 Ubuntu 服务器的实际 IP):
10.15.30.41 ubuntu-server
然后你就可以这样做了
ssh ubuntu-server
,它应该可以工作。请注意,hosts 文件的位置取决于你的笔记本电脑使用的是哪种操作系统;例如,我不确定它在 Windows 上的位置。在 Ubuntu 服务器上安装 avahi-daemon 软件包。这将利用 mDNS 协议在本地网络上“通告”其主机名。安装并运行后,您应该能够
ssh ubuntu-server.local
(注意.local
域)访问服务器。同样,如果您的笔记本电脑运行的是 Windows,我无法确定它是否支持 mDNS;我知道 Ubuntu(以及安装了 avahi-daemon 的任何其他 Linux)和 Mac OS X 开箱即用地支持它。
答案2
我遇到了类似的问题,并尝试通过安装 Avahi-daemon 来解决它,就像 roadmr 建议的那样,但显然没有结果。然后我输入
host myhostname
终端回答我:
myhostname.lan has address 192.168.1.68
Host myhostname.lan not found: 3(NXDOMAIN)
在客户机中,我使用主机名 myhostname.lan,它正常工作。直到我使用 DHCP 连接。分配 IP 后它不起作用...