我設定了一個 Ubuntu 實例,並嘗試使用 PuTTy 透過 SSH 從 Windows 系統存取它。我可以使用 IP 位址進行 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:因發行版而異
Google:"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