1. 程式人生 > >windows下利用ssh訪問virtualbox虛擬機器

windows下利用ssh訪問virtualbox虛擬機器

最近看微軟的Win10相當火爆,於是在我的ubuntu上裝了Win10雙系統,使用了一段時間後,感覺相當不錯,扁平化的介面看起來也很養眼,不過偶爾碼程式碼時卻要重啟切換系統,覺得相當不便利,一狠心,刪除了我的ubuntu,在virtualbox裡裝了一個輕量級的lubuntu,這樣就方便多了。

用了一段時間,問題又來了,我的電腦本來效能就不算太高,裝在virtualbox裡的linux操作起來體驗相當不好,介面有明顯的延遲感,於是我想,既然我只是在編譯linux程式時偶爾使用一下GUI,為什麼不在平時改為終端模式呢,最好能直接在後臺啟動,這樣連多餘的VirtualBox介面都能省了。

要想通過ssh連線虛擬機器,那麼首先要在虛擬機器裡開機ssh服務。

1. 在虛擬機器裡開啟ssh服務

進入虛擬機器, 看看ssh服務有沒有啟動

ps -ef | grep "sshd"
root       586     1  0 17:27 ?        00:00:00 /usr/sbin/sshd -D
root       738   586  0 17:27 ?        00:00:00 sshd: daemonw [priv]
daemonw    862   738  0 17:27 ?        00:00:00 sshd: daemonw@pts/0

可以看到裡面的sshd服務已經起來,然而實際上好多機器在安裝後是沒有安裝開啟該服務的,如果沒有,我們要先安裝ssh服務:

sudo apt-get install openssh-server

安裝成功後,記得啟用服務:

sudo /etc/init.d/ssh start

2. 配置埠轉發

在虛擬機器網路設定裡,點選埠轉發:

這裡寫圖片描述

新增埠轉發規則:

這裡寫圖片描述

協議選擇tcp,主機IP為空,表示localhost(127.0.0.1),子系統ip也為空,表示其預設IP10.0.2.15,主機埠可以自己設定,只要不和其他埠有衝突就行,子系統埠一般選擇預設的ssh埠22,你還可以類比新增ftp等轉發規則。

3. 虛擬機器的啟動登入

linux的終端是很強大的工具,到了windows後,感覺cmd用的相當不習慣,還好git提供了相當強大的bash工具,所以到了window後,git bash成了我的預設命令列工具。

VirtualBox的管理工具位於安裝目錄,名字叫VBoxManage.exe, 由於不在系統PATH環境變數下,每次都要輸入一長串,相當不便,於是先把該路徑新增到PATH下(該項在高階系統裡,在此就不做贅述了),起個簡單的名字vbm:
$ ln -s /d/Program\ Files/Oracle/VirtualBox/VBoxManage.exe /d/Program\ Files/Oracle/VirtualBox/vbm

VirtualBox的命令列管理已經很不錯, 具體可help檢視.

後臺啟動VirtualBox虛擬機器:

vbm startvm lubuntu --type headless

其中vbm是管理工具的別名,已新增到%PATH%變數,lubuntu為虛擬機器系統名稱,type為啟動型別,headless表示後臺啟動,如果不加type,則表示正常啟動(GUI模式),此外還可設定sdl\seperate等模式。

可以看到啟動相當快,3s左右.

登入虛擬機器:

ssh -p 8080 [email protected] ####username為你的虛擬機器的登入賬戶名稱

關閉虛擬機器:

vbm controlvm lubuntu poweroff