![无法使用 Putty 通过 SSH 连接到 Ubuntu 服务器,但可以使用 IP](https://linux22.com/image/1618468/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20Putty%20%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9E%E6%8E%A5%E5%88%B0%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E4%BD%86%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20IP.png)
我设置了一个 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