如何使用机器名称访问家庭网络上的计算机?

我有所有机器通过无线路由器连接到互联网(偶尔我会通过电缆将机器插入路由器)。 我已经安装了ssh软件包,可以使用例如“ssh 10.0.0.2”从另一台机器上访问一台Ubuntu机器。 但是,当机器关闭和打开并重新连接到路由器时,本地IP地址会发生变化,所以我更喜欢使用“ssh machinename”。

如果我输入“ssh machinename”,没有任何反应,没有错误,没有返回提示。

我需要安装/配置什么来通过他们的机器名访问Ubuntu机器?

(作为旁注,我安装了Samba,因此我可以访问同一网络上的Windows机器。我设置名称解析顺序= lmhosts赢得bcast主机因为我使用OpenDNS,我不确定这是否会影响Ubuntu网络。基于Windows的解决方案可以在Windows和Ubuntu之间双向工作(例如,使用WinSCP连接到Ubuntu计算机)。)

首先,确保安装了Avahi守护程序。 (默认情况下应安装在Ubuntu Desktop上,但不安装在服务器上。)

sudo apt-get install avahi-daemon 

然后,要访问它们,例如,在名称的末尾添加“.local”

 ssh machinename.local 

我不确定是否可以删除添加.local的必要性

如果你只想通过使用一个好记住名称ssh到一台机器,你也可以通过添加一个条目在~/.ssh/config定义一个名称,例如:

 Host myremote HostName 192.168.0.0 # IP or myremote.local name of remote Port 980 # Port to connect if different to defaults User  

然后我们只需输入以下内容即可ssh到myremote.local

 ssh myremote