我有一台 Windows 8.1 主機,在虛擬機器中安裝了 ubuntu server 15.05。我在來賓 (ubuntu) 中設定了 SSH 伺服器,然後建立從主機連接埠 2222 到來賓埠 22 的轉送規則。
如果我嘗試使用 ssh 從主機連接,ssh -p 2222 username@localhost
我可以毫無問題地連接到虛擬機器。
如果我嘗試從同一本地網路中的遠端電腦(OS X 電腦)進行連接,大多數情況下我會收到逾時錯誤。當我真正設法建立連接時,一段時間後它會凍結,直到出現錯誤ssh -p 2222 [email protected]
寫入失敗:管道損壞。
我已經停用了防毒軟體(Bitdefender) 的防火牆,並在Windows 防火牆中建立了規則以允許來自連接埠22 和2222 的流量。用狀態)。
我還記UseDNS no
入了客人sshd_config
檔案。 Guest (ubuntu) 中沒有安裝防火牆。
我發現 vmwareworkstation 11 和 VirtuaBox 都出現此問題。
答案1
問題似乎是無法從 Windows 8.1 電腦外部存取 VM 網路。您可以看到當您 ssh 到 localhost:2222 時它可以工作,這可能是由於網路配置引起的(可能配置為 NAT,預設值)
使用 VirtualBox 時,您應該將虛擬機器的網路配置為橋接,這樣就可以解決問題。您可以從以下位置獲取更多信息https://superuser.com/questions/810097/vmware-player-bridged-networking-no-longer-works-host-win8-1-guest-mint-17-l
答案2
我在使用 WMware Workstation 12.5.9 的 Windows 7 主機上遇到了類似的問題。唯一真正幫助我的解決方案: https://communities.vmware.com/thread/590825
設定備用 QoS 標誌似乎可以解決該問題,例如ssh -o IPQoS=throughput ...