
我正在嘗試透過 ssh 從我的伺服器連接到我的 macbook,但我在網路上找不到它的主機名稱。我啟用了遠端登入在系統偏好設定 > 共享我的 Mac 聲稱:
Computers on your local network can access your computer at: macbook.local
然而,當我嘗試透過它連接時,它告訴我:ssh [email protected]
ssh: Could not resolve hostname macbook.local: Name or service not known
但當我輸入給定的 IP 位址(即 )時,我可以透過 ssh 進入它。問題是這個 IP 位址發生了變化,我想透過 ssh 新增遠端 git 儲存庫,所以這是行不通的。我缺什麼?ssh [email protected]
答案1
你的伺服器是什麼作業系統?如果不是 Mac OS X,那麼您需要安裝 Avahi 並在中進行以下設置/etc/nsswitch.conf
hosts: files dns mdns
或者
hosts: files mdns_minimal [NOTFOUND=return] dns mdns
答案2
您的伺服器運行什麼作業系統?它需要支援 Bonjour 又名 mDNS,這是為 .local 主機名稱提供支援的技術。您可以了解有關 mDNS 的更多信息這裡。有多種適用於 UNIX、Linux 和 Windows 的 mDNS 實作。我推薦 Apple 的 mDNSResponder 和類別 Unix 系統的開源 Avahi 守護程式。
如果您的伺服器上已經有 mDNS,那麼我建議您查看您的網路設定。 mDNS 不能跨某些 VPN 系統(包括 L2TP/IPsec)使用,也不能跨不同子網路使用。 mDNS 主頁有設定廣域 mDNS 的設定說明,這需要使用名稱伺服器,但我的努力尚未成功。
一種更簡單、更容易的方法可能是為您的 MacBook 提供靜態 IP 位址。大多數路由器允許您使用 DHCP 用戶端 ID 或介面的 MAC 位址指派靜態 IP。
我自己最近一直在爭論一些 mDNS 問題。