如何從同一網路中的不同電腦透過 ssh 存取 VirtualBox 虛擬機器?

如何從同一網路中的不同電腦透過 ssh 存取 VirtualBox 虛擬機器?

我家裡兩台不同的電腦上有兩台虛擬機器。在其中一個(我們稱之為 comp1;comp1 有一個帶有 Ubuntu 虛擬機的 Windows 10 主機)上,我已經設定了虛擬機的網絡,以便我可以從主機透過 ssh 連接到它。我按照本網站的說明進行設定(https://medium.com/nycdev/how-to-ssh-from-a-host-to-a-guest-vm-on-your-local-machine-6cb4c91acc2e)。

當我嘗試 ssh 到 comp1 的 Ubuntu 虛擬機器時,收到以下訊息:

ssh: connect to host 127.0.0.1 port 5679: Connection refused

請告訴我是否需要在 comp2 的虛擬機器上完成更多設定才能連接兩者。

答案1

您遵循的說明是技術上準確,但它們也比大多數非公司環境中所需的更為複雜。您無需設定連接埠轉送或虛擬網路設備即可實現此功能。

在 VirtualBox 中,執行以下操作:

  1. 消除虛擬機器的連接埠轉送規則
  2. 中斷虛擬網路介面與 VM 的連接
  3. 將網路設定為“橋接”模式,選擇主網路適配器作為橋接器,然後在“進階”下確保混雜模式為“允許全部”

現在,以下事情是可能的:

  1. VM 可以從網路上的 DHCP 主機接收 IP 位址(或者您可以在 VM 本身內設定靜態 IP)
  2. ufw虛擬機器可以接收定向到它的所有流量,並透過規則等選擇它回應的內容

在虛擬機器中:

  1. 確認 OpenSSH 已設定ufw
    sudo ufw status
    
    如果您看到一條訊息說該功能ufw已停用,請保留它。如果已啟用,您需要確認您有一條顯示ALLOW在連接埠 22 旁邊的記錄。
  2. 確認虛擬機器的IP位址:
    ip a
    
    您將看到有關所有網路介面的資訊。您需要與您的網路模式相符的 IP 位址,例如192.168.0.x
  3. 在另一台電腦上,透過 SSH 連接到虛擬機器:
    ssh [email protected]
    
    請務必將使用者名稱替換為正確的名稱,並將 IP 位址替換為正確的位址。

如果一切正常,請對其他虛擬機器執行相同的步驟。

相關內容