无法使用<servername> .local ssh进入Ubuntu服务器(在一台服务器上,而不是在另一台服务器上)

我有两个服务器,似乎已经configuration了一些“开箱即用”以允许“ssh servername.local”工作。 我真的很喜欢这个,看着它,但我没有看到他们的configuration有任何不同。

server1:(ssh by name works
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 server1

server2:(通过名字ssh 不起作用
$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 server2

server1.local连接正常,server2.local获取此响应:
ssh: Could not resolve hostname server2.local: Name or service not known

我没有做任何设置DNS,两个服务器的revolv.conf文件是相同的。

server2运行ubuntu server 9.04 32位(jaunty),server1运行ubuntu desktop 9.10 64位(karmic)。

任何人都可以告诉我,我应该看看什么是不同的,为什么它在一个而不是另一个上工作?

Avahi需要在两台机器上运行。 它是提供mDNS服务的守护进程。

root @ rilindo-desktop:〜#ps -ef | grep avahi avahi 903 1 0 Jan01? 00:00:05 avahi-daemon:注册[rilindo-desktop.local] avahi 904 903 0 Jan01? 00:00:00 avahi-daemon:chroot助手根18206 15276 0 11:23 pts / 2 00:00:00 grep avahi

假设端口5353未在机器上过滤/阻塞,则需要validationavahi的configuration。

你可以检查两台机器和主机上的/etc/nsswitch.conf:设置吗? 他们都一样吗?

还要检查/etc/resolv.conf中的“search”行

由于不依赖于命名的随机协议,您可以不在服务器上设置静态IP,然后将其各自的条目添加到其他机器主机文件? 例如

在server1上

 192.168.1.200 server2 

在server2上

 192.168.1.100 server1 

虽然avahi和其他零configuration工具是有用的,他们并不总是你想要的东西。