无法通过主机名SSH进入Ubuntu服务器


16

我只是在一个旧盒子上安装了Ubuntu 12.04 Server,它通过以太网连接到我的路由器。我按照指示进行了opensh-server的设置,以进行远程访问,但是无法使用主机名从笔记本电脑ssh进入它。

不过奇怪的是,我可以使用IP地址将其插入。为了方便起见,我真的很想解决此问题。我注意到有一些类似的问题,但是似乎所有这些人都对解决该问题的方向有所了解,并且在询问我的问题的方式更加具体,措辞准确。

作为家庭网络的完整入门者,如果有人告诉我从这里去哪里,我将非常感激。


Answers:


15

除非您在中央位置配置主机名,否则笔记本电脑无法知道您在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都可以立即使用它。


1
设置DNS也是一种选择,但是有点像在马蝇上使用手榴弹。(并非总是可能的)。
jackweirdy 2012年

2

我遇到了类似的问题,并尝试按照roadmr的建议安装Avahi-daemon来解决它,但显然没有结果。然后我输入

host myhostname

终端回答我:

myhostname.lan has address 192.168.1.68
Host myhostname.lan not found: 3(NXDOMAIN)

在来宾计算机中,它被用作主机名myhostname.lan,并且可以正常工作。直到我连接了DHCP。使用分配的IP它将不起作用...


我还发现,即使安装了avahi-daemon,“ host”命令也不适用于主机<system>或主机<system> .local。但是,我能够做到ssh <system>.local,并且奏效了。因此,我认为host命令不适用于mDNS / avahi内容。
bgoodr
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.