這里簡稱真實的外部電腦為主機。當虛擬機NAT模式上網時(區別於橋接上網,橋接上網的話,主機和虛擬機可以互訪),虛擬機是可以訪問主機的,但是由於NAT機制,導致主機不能訪問虛擬機,那么如何讓主機上的xshell能夠連接虛擬機呢?
1. 這里可以考慮使用虛擬機的"端口轉發"功能(本人的虛擬機為virtual ubuntu,且此時本人虛擬機已經可以上網)。在虛擬機管理界面,設置-->網絡-->高級-->端口轉發,添加一條規則: 名稱可以隨意些,比如1; 協議選擇"tcp" ;主機IP,即主機的IP,如192.168.46.33;主機端口,在1025-65535之間隨意選一個,如10088;子系統IP填寫虛擬機的網卡IP; 子系統端口填寫22,保存;
2. 虛擬機上安裝ssh服務。sudo apt install ssh
3. 主機上安裝xshell 5, 新建連接時,"主機"填寫主機的IP,即上述的192.168.46.33,"端口"填寫主機端口,即上述的10086,點擊連接(會提示輸入虛擬機的用戶名和密碼);此時即可連接成功;
補充,若虛擬機為橋接模式,則不必使用端口轉發功能,而是直接用xshell連接虛擬機,此時新建連接時,"主機"填寫虛擬機的IP,"端口"填寫22,點擊連接(也會提示輸入虛擬機的用戶名和密碼),即可連接成功。