当前位置: 首页>>技术教程>>正文


无法SSH进入VirtualBox来宾计算机

, ,

您刚刚在VirtualBox来宾计算机中安装并运行了一些Linux发行版。同时,您发现无法创建从主机操作系统到新的VirtualBox来宾计算机的ssh(安全 shell )连接。 VirtualBox的默认行为不允许发生这种连接。

有两种(可能更多)的解决方案。第一个解决方案是创建桥接网络接口,并通过更改来宾的网络接口设置来链接虚拟来宾。这可能听起来并不容易,但通常效果很好,设置也很容易。第二种解决方案涉及将端口22转发到您的虚拟客户机的端口。此解决方案非常易于实现,但不适用于较旧的VirtualBox版本。

本文将指导您实施更简单的端口转发解决方案。首先通过执行以下命令检查您的VirtualBox版本是否支持NAT端口转发linux命令

检查VirtualBox NAT转发的可用性

$ VBoxManage modifyvm | grep natpf

如果没有看到任何输出,则需要升级VirtualBox软件。接下来,在主机操作系统上打开一个终端。

创建SSH端口转发

查找您的虚拟访客计算机的名称:注意:以下linux命令需要由拥有上述虚拟机所有权的用户运行,因为此命令将仅显示当前用户拥有的虚拟机。在大多数情况下,它不是root用户。

$ VBoxManage list vms

执行以下linux命令在主机操作系统上,我们将来自端口2222的所有流量重定向到在名称为”Ubuntu_10.04″的来宾虚拟机上侦听的端口22。

$ VBoxManage modifyvm "Ubuntu_10.04" --natpf1 "host2guest-ssh,tcp,,2222,,22"

使用端口转发登录到来宾SSH

全做完了。现在启动您的来宾虚拟机,并通过以下命令切换到linux命令

$ ssh -p 2222 username@localhost

如果您的来宾操作系统使用的是静态IP地址,则可以修改上述端口转发命令以指定来宾IP地址。

$ VBoxManage modifyvm "Ubuntu_10.04" --natpf1 "host2guest-ssh,tcp,,2222,10.0.2.220,22"

故障排除,

如果仍然无法通过SSH连接到来宾虚拟机,请检查以下内容:

  • 检查您的主机操作系统是否正在侦听端口2222
$ netstat -ant | grep 2222

  • 检查sshd是否已在来宾操作系统上安装并运行。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11340.html,未经允许,请勿转载。