我让所有机器都通过无线路由器连接到互联网(有时我会通过电缆将机器插入路由器)。我已经安装了 ssh 包,可以使用例如“ssh 10.0.0.2”从另一台 Ubuntu 机器访问另一台 Ubuntu 机器。但是,随着机器关闭和打开并重新连接到路由器,本地 IP 地址会发生变化,因此我更喜欢使用“ssh machinename”。
如果我输入“ssh machinename”,什么也不会发生,没有错误,也不会返回提示。
我需要安装/配置什么才能通过机器名称访问 Ubuntu 机器?
(顺便说一句,我安装了 Samba,这样我就可以访问同一网络上的 Windows 机器。我已经设置了名称解析顺序 = lmhosts 获胜 bcast 主机因为我使用 OpenDNS,所以我不确定这是否会影响 Ubuntu 网络。基于名称的解析在 Windows 和 Ubuntu 之间是双向的(例如,使用 WinSCP 连接到 Ubuntu 机器)。)
答案1
首先,确保您已安装 Avahi 守护程序。(默认情况下应安装在 Ubuntu 桌面上,但不安装在服务器上。)
sudo apt-get install avahi-daemon
然后要访问它们,请在名称末尾添加“.local”,例如
ssh machinename.local
我不确定是否可以消除添加 .local 的需要
答案2
如果你只想使用一个好记的名字通过 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 <myloginname>
然后我们可以通过 ssh 连接到我的远程.本地只需输入:
ssh myremote