我的筆記型電腦上運行著一個 Ubuntu VM 實例。主機和虛擬機器都運行相同的作業系統 - Ubuntu 12.04。我嘗試從主機上進行 ssh
ssh username@<VM-IP>
它嘗試了一段時間然後說
ssh: connect to host <ip-address> port 22: Connection timed out
然後我嘗試 ping
我明白了100% packet loss
。我猜這是因為沒有既定路線。我該如何解決這個問題?
答案1
簡單的方法:前往「網路設定」、「連接埠轉送」並新增一條規則,將虛擬機器連接埠 22 對應到主機上的連接埠 9022。然後跑ssh localhost -p 9022
。
更好的方法:安裝Ubuntulxc
軟體包,然後,在VirtualBox上,轉到VM Network settings
,設定Attached to
為Bridged Adapter
,設定Name
為lxcbr0
,重新啟動虛擬機,它將獲得可從主機存取的新IP。不過,如果你這樣做,永遠不要同時啟動連接到同一個橋接器的 LXC 容器和 VirtualBox 虛擬機,否則主機可能會發瘋(某個地方相當醜陋的錯誤)
答案2
進入 Virutalbox 中的網路設定並將網路介面卡變更為橋接或僅主機。確保虛擬機器的 IP 位址與主機的 IP 位址位於相同子網路中。
答案3
檢查您是否安裝了openssh-server
伺服器。
sudo apt-get install openssh-server
然後檢查您是否啟用了正確的端口
/etc/ssh/sshd_config
如果您使用與外部不同的連接埠號碼進入它,或者您的路由器有將其轉發到另一個連接埠的規則
如果您想透過密碼授權,您可能還需要取消其中的註解。
#PasswordAuthentication yes
在虛擬機器網路配置中啟用相同的連接埠(預設為 22)進行轉發