Networking
如何使用 sshfs 和 ssh 從 linux 虛擬機訪問 linux 主機
我有一個舊的 linux 軟體偶爾在我的 Debian 9 主機內的 Ubuntu 8.04 Virtualbox 虛擬機中執行。我可以在不連接到外部網路的情況下從 VM 內部 ssh / sshfs 到主機嗎?如何?
我知道已經詢問了相反方向的ssh-ing( SSH 到虛擬機),但我要求的是相反的方式,即從客戶機到主機,而不是從主機到客戶機。
您需要一個僅限主機的網路:以下是設置說明(如果您正在執行純內部設置,則不需要 NAT 介面。)它本質上是一個
tun
可以在多個 VM 之間共享的介面,因此您應該只需要給你的虛擬機(和介面的主機端)一個地址,並確保 SSH 綁定到介面。假設您使用的是圖形界面,下面是一些應該讓它執行的步驟:
- 將“僅主機網路”介面添加到您的 VM。這裡的“名稱”表示您要連接到哪個僅主機網路:現在應該只有一個(稱為“vboxnet0”),所以接受預設值。
- 在 VirtualBox 首選項中,確保您在“網路”選項卡中看到僅主機網路(它的名稱應與您之前創建的介面相同。)輸入介面的主機端地址/網路遮罩(例如 192.168. 56.1/255.255.255.0):由於您只有一個訪客連接到此網路,您可以通過轉到“DHCP 伺服器”選項卡並取消選中“啟用伺服器”框來禁用 DHCP。
- 在您的 VM 中,您應該會看到一個新界面。記下它的名稱(可能是“eth1”)並嘗試將其調出:
ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up
- 如果它有效(嘗試 ping 192.168.56.1),然後將介面添加到您的介面,
/etc/network/interfaces
以便在 VM 啟動時始終設置它:
# The host-only network interface auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255
- 如果您讓主機監聽特定介面,您可能需要編輯
sshd_config
並在主機上重新啟動sshd