我设置了一个 Ubuntu 实例,并尝试使用 PuTTy 通过 SSH 从 Windows 系统访问它。我可以使用 IP 地址进行 SSH,但无法使用主机名进行 SSH。
我检查了 Ubuntu 服务器上的 /etc/hosts 文件,它有 IP 地址和主机名 -
127.0.0.1 localhost
172.xx.xx.xx7 riz-7.xxxxxxxx.NET riz-7
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
当我尝试使用主机名进行 SSH 时,出现此错误-
Unable to to open connection to riz-7. Host does not exist
可能是什么原因?我之前能够使用主机名进行 SSH,但现在不行了。
答案1
您还需要在客户端计算机的 /etc/hosts 中更新主机名。
答案2
要通过本地访问设备,需要满足以下要求hostname
:
- 必须设置路由器的本地域名(例如:
.local
)- 登录路由器的 WebUI > 通常在路由器的系统设置下找到
- 必须在路由器上设置静态 IP,才能通过以下方式访问设备
hostname.local
- 路由器的 WebUI > 通常在网络设置下找到
操作系统的本地域必须设置为路由器的本地域
- 视窗:工作组名称是 Windows 的本地域
sysdm.cpl
> 计算机名称 - 更改... > 工作组 > 确定 > 重新启动 - BSD/Linux:因发行版而异
谷歌:"distro name" change "local domain name"
- 视窗:工作组名称是 Windows 的本地域
hosts
要通过以下方式访问的设备的文件条目hostname.local
# Windows : C:\Windows\System32\drivers\etc\hosts # BSD/Linux: /etc/hosts (can vary by DNS program being used) 192.168.1.10 hostname hostname.local
要访问设备:hostname.local