Windows上安裝VirtualBox運行Ubuntu Server及SSH登錄

        自己有一臺裝有Windows 10的Desktop,本來想直接安裝一個獨立Ubuntu Server作爲第二啓動系統來運行一些projects,但是有時候還要用到Windows上面的東西,不想來回互換。由於對Linux的青睞,加上自己差不多一年前指導過別人在Windows上安裝VirtualBox並安裝Ubuntu 18.04 Desktop,於是決定在Windows上運行Ubuntu Server。當然,重要的是設置ssh登錄,包括在本地host machine上,以及外網的其他機器上來ssh連接。

系統說明:

-    Windows 10 Desktop (host machine)

-     Ubuntu Server 20.04 LTS (Focal Fossa): 64-bit PC(AMD64) Server

-     用於測試SSH connection的其他machine,這裏用的是一臺Macbook。

1. 安裝 VirtualBox

      這個安裝沒有太多特別的,這裏我選的是VirtualBox 6.1.16, 可以在其網站上下載:https://www.virtualbox.org/wiki/Downloads

      由於我的host machine是Windows 10, 這裏選Windows hosts的安裝文件。

      下載安裝後,可以考慮也安裝VM VirtualBox Extension, 6.1.16 Oracle VM VirtualBox Extension PackAll supported platforms,  這個在上面的網站上也可以下載。

2. 下載Ubuntu server

      這裏我選的是Ubuntu Server 20.04 LTS, 可以從其網站上下載:https://releases.ubuntu.com/20.04/

     注意選擇的是64-bit PC (AMD64) server install image。

3. VirtualBox上安裝Ubuntu server

     3.1.運行VirtualBox,點擊New, 創建Virtual Machine

這裏Name可以隨意,如果包含Ubuntu, Type和Version一般會自動識別。如沒有,可以手動填寫。如下圖:

3.2. 接下來就是配置Memery SizeHard Disk。

可根據自己的需求來設置,比較直接。附上一些截圖:

3.3.machine做些設置。

創建完成後,在VM VirtualBox Manager窗口的左側就可以看到這個machine了。目前,系統並沒有安裝。打開Settings,由於選擇的是鏡像文件安裝, 在System->Motherboard->Boot Order那,選擇Optical, 並確保它在第一位。如下圖:

然後到Storage->Controller: IDE: 那選這鏡像光盤,這裏一開始是Empty,選中後在Attributes 點擊光盤符號然後選中下載到Ubuntu server鏡像文件,之後會看到信息在Information那裏顯示。

這裏同時也可以對Network->Adapter 1/2做些設置。這裏我們選擇兩個,一個Adapter Attached to: NAT, 另一個Adapter Attached to: Host-only Adapter。之所以選擇兩個,是因爲我們想ssh方便的連接。如下圖:

   這裏有一些插曲,如果發現不能點擊OK,提示關於“Hardware Virtualization”的設置沒有正確。這在使用VirtualBox時是比較常見的,解決也非常容易,基本上就是重啓host machine,進入bios,找到system configuration並enable這裏的Virtualization。具體如果操作,各種PC也是大同小異,這裏不作說明。

3.4. machine的設置完成之後,我們就可以運行安裝了。

        這裏有另外一個插曲,如果遇到錯誤提示“failed to open a session for the virtual machine”,需要在windows 10以管理員運行CMD命令行,並執行命令“bcdedit /set hypervisorlaunchtype off”。這個也是一個常見的問題,比較容易解決。之後重新啓動運行安裝就可以。

        運行安裝後,會出現一些常見的窗口,比如,選中語言,輸入方式等,這些都可以通過上下鍵和Enter來選擇。這裏爲了節省時間,建議安裝中不先更新,記得暗轉OpenSSH Server,其他的可以按照默認的。記住自己的用戶名和密碼。這裏附上一些圖片:

        安裝完成後,會reboot,這裏爲了節省時間,在未更新完也可以選“Cancel update and reboot”.這裏要說明一下,需要回到Settings->System->Mortherboard->Boot Order, 選中Hard Dist並把它放在第一位,Optical可以不選。這樣reboot後就進入新裝的系統,不然,又進入安裝界面。

4. 設置SSH連接 

     運行新安裝的Ubuntu server,用戶名和密碼登錄。這樣我們就完成了系統部分安裝。接下來設置SSH連接。

     4.1.建議安裝net-tools, ifupdown,方便查詢ip和設置network

        sudo apt install net-tools; sudo apt install ifupdown.

     4.2. ufw進行防火牆設置

        查看狀態:sudo ufw status;  運行: sudo ufw enable; 運行ssh: sudo ufw allow ssh; 類似可以allow http,https; 再次查看狀態,就可以看到相關的信息及對應的Port。 

     4.3.  編輯/etc/ssh/ssd_config

        找到# Port 22,取消註釋,即# Port 22 —> Port 22。22爲默認的Port,也可以自己設置。這裏選擇默認的。

     4.4. 運行ip addr 或者ifconfig來查看ip地址

        這裏會注意到enp0s8,enp0s3, lo的信息。由於考慮外網的ssh,在開始的時候設置了Adapter 1 attached to NAT。 這裏記下相關的ip,比如: enp0s8: inet 192.168.68.108。

     4.5.設置Port Forwarding

        現在回到Setting->Network->Adapter 1->Advanced-> Port Forwarding,來設置Virtual machine的Port Forwarding。之所以設置Port,就是保證在通信中轉中,確保不會迷失。這裏的Guest Port,對應的是Ubuntu server,要跟4.3.中的port一致。如下圖。這裏的Host Port對應的是Windows 10。如果後面設置外網ssh連接,這裏要對應相應的router的Port forwarding設置,這個後面會提到。如果只是本地的ssh,比如,在windows 10上,ssh 到 ubuntu server,這裏的port forwarding可以不需要,因爲默認的是Guest Port就是22。在window 10,打開cmd窗口,運行ssh <username>@<ip address>就可以。比如,ssh [email protected]。根據提示,輸入密碼就可以登錄。

  4.6. 現在考慮如何通過其他的PC,來ssh連接到Ubuntu server

        這裏用macbook來測試的。需要對router設置Port forwarding。這裏說明一下,對於一個router,它可以提供相應的ip給家用或者辦公室用的各個設備。這些IP 都是局內的,不能在外網直接訪問。router本身有IP address,用於被外網識別。如果想通過ssh連接到ubuntu server,這裏需要對router做port forwarding。其大概概念如下:

        PC (outside) —>Router Port—> Windows 10 Port —> Ubuntu server Port

        Router Port Forwarding設置,根據不同路由器各有不同,基本原則是一致的。比如,Router IP爲1.2.3.4, 設置port爲2023,windows 10 IP爲5.6.7.8,設置Port爲2025,ubuntu server Port爲22。這裏要確保設置router 時的Port 2025,對應於在ubuntu server設置的Host Port 2025一致。一旦設置成功,便可以在macbook上打開terminal,連接到ubuntu server。運行 ssh -p <port> <username>@<IP>, 比如:ssh -p 2023 [email protected]。測試成功後,也可以運行scp來傳輸文件,比如:scp -P 2023[email protected]:/home/test/test.txt .

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章