如何从linux虚拟机使用sshfs和ssh访问linux主机

如何从linux虚拟机使用sshfs和ssh访问linux主机

我的 Debian 9 主机内的 Ubuntu 8.04 Virtualbox 虚拟机偶尔会运行一个旧的 Linux 软件。我可以在不连接到外部网络的情况下从虚拟机内部通过 ssh / sshfs 连接到主机吗?如何?

我知道 ssh-ing朝相反的方向已经被问过(通过 SSH 连接到虚拟机)但我要求的是相反的方式,即从客人到主人,而不是从主人到客人。

答案1

你要仅主机网络:这里有设置说明(如果您运行纯粹的内部设置,则不需要 NAT 接口。)它本质上是一个tun可以在多个虚拟机之间共享的接口,因此您只需要为您的虚拟机(以及该接口的主机端)提供一个地址并确保 SSH 已绑定到该接口。

假设您使用图形界面,这里有一些应该采取的步骤:

  1. 向您的虚拟机添加“仅主机网络”接口。这里的“名称”表示您要连接到哪个仅主机网络:现在应该只有一个(称为“vboxnet0”),因此接受默认值。
  2. 在 VirtualBox 首选项中,确保您在“网络”选项卡中看到仅主机网络(它的名称应与您之前创建的接口相同。)输入该接口的主机端地址/网络掩码(例如 192.168. 56.1/255.255.255.0):由于您只有一台访客连接到此网络,因此您可以通过转到“DHCP 服务器”选项卡并取消选中“启用服务器”框来禁用 DHCP。
  3. 在您的虚拟机中,您应该会看到一个新界面。记下其名称(可能是“eth1”)并尝试将其显示出来:ifconfig eth1 192.168.56.101 netmask 255.255.255.0 up
  4. 如果它有效(尝试 ping 192.168.56.1),则将接口添加到您的接口中,/etc/network/interfaces以便在虚拟机启动时始终设置它:

# 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

  1. 如果您让主机侦听特定接口,您可能需要编辑sshd_config并重新启动主机sshd

相关内容