VirtualBox網路設定:1個介面卡設定,解決SSH連線問題

VirtualBox網路設定可能會影響SSH連線是否成功,本文以Linux虛擬機器為例,介紹如何調整網路卡介面解決此問題,補充PowerShell相關命令以及192.168、Wifi、虛擬IP等基本概念。

一、127.0.0.1虛擬ip

在Oracle VirtualBox建立Linux作業系統虛擬機器之後,預設應該是沒有對外網路的功能,輸入命令「ip addr」會得到只有一個IP「127.0.0.1」,它在通用的IP位址規範指的是本機,亦即目前本台電腦自己本身,這是因為很多應用程式在執行時會需要有一個自己的IP位址,因此有這個「127.0.0.1」的存在,不過很顯然它是沒有辦法進行網際網路的連線,在這裡先關機:「poweroff」。

這部份操作可以同時參考贊贊小屋相關文章:VirtualBox下載安裝:跨出Windows系統,開始使用Oracle虛擬機器

127.0.0.1虛擬ip

二、PowerShell SSH連線

明知不行還是想嘗試看看,開啟微軟的windows PowerShell,輸入終端機連線命令:「SSH root@127.0.0.1」,可以看到一段時間之後確定無法連線,回覆連線被拒絕。

參考文章:Windows11 PowerShell入門:自動化將圖片檔案副檔名從JPG改為jpg

PowerShell SSH連線

三、VirtualBox管理員

關機之後,回到「Oracle VM VirtualBox管理員」操作畫面,先選擇這篇文章範例的虛擬機器,然後再點選「設定」。

VirtualBox管理員

四、網路介面卡設定

在設定頁面中,左側切換到「網路」索引標籤,於頁面可以看到能設定四個介面卡,每個介面卡就是一個虛擬的網路卡或者稱之為網卡,預設的「介面1」狀態是「啟用網路卡」,「附加到:NAT」,可是如同先前第二步驟所看到的,並沒有起到網路連線的作用。

參考文章:Oracle VirtualBox開始安裝CentOS Linux系統,先設定好軟硬體環境

網路介面卡設定

五、VirtualBox網路設定

切換到「介面卡2」,同樣將「啟用網路卡」勾選,表示要使用第二張網卡,接著在「附加到」欄位下拉選擇「僅限主機介面卡」,名稱則是下拉選擇「VirtualBox Host-Only Ethernet Adapter」,最後按右下角的「確定」。

VirtualBox網路設定

六、ip addr查詢ip

再次開啟虛擬機器,同樣使用命令「ip addr」進行查詢,除了剛才第2步驟的「127.0.0.1」,多了第二張網路卡,IP為「192.168.56.102」。

參考文章:Linux ping命令網路連線測試,127.0.0.1與192.168虛擬ip

ip addr查詢ip

七、遠端連線終端機

電腦切換到微軟windows Power Shell使用上個步驟的第二個網路卡IP進行ssh終端機連線,這次連線成功了。Power Shell.會提示是否確認,輸入「yes」,然後於「password」輸入帳號密碼,終於遠端連線登入到Linux虛擬機器,這裡的遠端比較特別,它其實就是在自己電腦上所建立的虛擬機器。

參考文章:Azure Linux虛擬主機:CloudShell連線登入,執行命令編輯文件

遠端連線終端機

區域網路中的wifi及熱點

文章範例的192.168開頭IP和127.0.0.1同樣是作為內部網路使用,並非對外網際網路連線使用的IP,不過很明顯的可以看到192.168後面,還有兩個數字欄位,因此可以延伸很多不同的IP位址位置,這個就是路由分享器、手機熱點或者WiFi將不同裝置聯結於同一個網路環境的概念,也就是一個小型的區域網路,在這個環境下的所有計算機設備彼此都是相互連接的,包括電腦、手機、印表機、電子閱讀器等等,然後透過其中一台路由器或者是電腦手機再對外連線到真正的全球資訊網,同時就算這一整組的192.168都沒有辦法對外連線,彼此之間的設備只要能夠確認IP位址還是可以互相連接,也正是這篇文章所看到的SSH遠端連線的狀態。

參考資源

  1. VirtualBox Documentation線上說明。
  2. 贊贊小屋Linux 教學手冊。
  3. YouTube:Linux教學頻道。

最新文章: