SSH进入VirtualBox Guest:拒绝连接


21

设定

  • 运行VirtualBox 4.2的Windows 7 64位主机操作系统,以及Ubuntu 12.04来宾OS。
  • OpenSSH服务器已安装并正在运行(ssh -v localhost在来宾计算机中本地连接)。
  • 可以SSH到外部服务器(没有出站Windows防火墙规则阻止端口22)
  • 可以ping来宾的IP(192.168.56.101)

问题

使用PuTTY SSH到客户机OS的IP(192.168.56.101),PuTTY几乎立即返回

网络错误:连接被拒绝

如何诊断和解决此问题?

Answers:


10

您确定IP是用于访客OS的吗?我遇到了同样的问题,原来我一直使用的IP是192.168.56.101,实际上是Windows接口IP,而主机OS IP是192.168.56.103。

您可以通过对ipconfig / ifconfig都进行验证。

注意:我还设置了一个静态IP,原来我根本不需要。万一您从头开始尝试,我发现教程会更好。


6
+ 1,VirtualBox的默认设置是创建一个访客,该访客的虚拟网络适配器通过VirtualBox本身进行NAT。因此,这种来宾系统将能够进行SSH 出局,并且能够进行SSH 本身,但是只有在VirtualBox中创建端口转发规则之后,它才能接收SSH连接。
汤普森

+1经过Google-messing,终于!我以为.101不是来宾,而是来宾!
2014年

6

其他解决方案都不是好方法,因为:

  1. 如果访客将失去对Internet的访问权限,则没有必要通过网桥向访客SSH
  2. 上面所有其他解决方案都告诉您制造火箭以横穿马路。

情境

  • 托管Ubuntu Desktop 16.04
  • 来宾Ubuntu Server 16.04(在虚拟框5上运行)

问题

SSH连接被拒绝

  1. 关闭您的来宾Ubuntu
  2. 在Virtualbox上,转到“设置”>“网络”>“ Adapter1”>“高级”>“端口转发”
  3. 名称= SSH Hostport = 2022(或22以外的任何端口)Guestport(22)
  4. 重新启动客人
  5. 在主机上打开Putty或用于SSH的任何设备
  6. ssh user@127.0.0.1 -p2022(或您提到的任何端口作为主机端口)
  7. 祝你玩得开心

我对此有疑问:在Virtualbox设置>网络>适配器1>高级>端口转发中,灰色无法单击。imgur.com/seT3p02
SL5net

@ SL5net关闭虚拟机
Alon Gouldman

2

以下对我有用:

之前:

vboxnet0: 192.168.56.1
eth1:     192.168.56.1

后:

vboxnet0: 192.168.56.1
eth1:     192.168.56.101

因此,基本上我更改了文件{/ etc / network / interfaces}的一部分,如下所示:

之前:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0 

后:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0 

作品: ssh username@192.168.56.101


不知道为什么,这对我有用。感谢@Mause
murarisumit

2

安全外壳(SSH)是用于在远程计算机上登录并执行命令的协议。它提供安全的加密通信。如果您打算通过防火墙接口通过SSH远程访问计算机,请启用此选项。您需要安装openssh-server软件包,此选项才有用。

这是openssh-server必须安装软件包的信息。在guest虚拟机上执行此操作并重新启动vm之后,可以使用ssh。


我没有重启我的Ubuntu 16.04,它仍然可以正常工作。谢谢:)
奥伦·米尔曼

1

您应该检查来宾操作系统防火墙是否没有阻止端口22上的传入连接。


1
来宾操作系统防火墙已禁用。这是默认设置,我已通过验证了它是否已禁用sudo ufw status
埃里克·J。

1

也许这是访问控制的问题。要以root用户身份禁用它并允许完全访问:

xhosts +

我在VNC查看器中遇到了类似的问题


1
我真的怀疑,恕我直言sshd与X无关-与vnc相反。
mpy

1

通过在VirtualBox网络适配器上启用DHCP服务器解决了问题。

VirtualBox(最新版本,版本5)-> 文件 -> 首选项 -> 网络 -> 仅主机网络(选项卡)->仅主机网络详细信息(图标工具)-> DHCP服务器

  1. 勾选启用服务器
  2. 填写IP地址
  3. 好的好的
  4. 重新启动虚拟机

我对第2步的设置

  1. 服务器地址:192.168.56.100
  2. 服务器掩码:255.255.255.0
  3. 低位地址范围:192.168.56.101
  4. 高位地址范围:192.168.56.200

1

嘿,我只是返回我在故障排除和研究的迷你传奇中找到的第一页,希望我制作的本教程可以省去其他人的所有麻烦。

使用Oracle VM设置CentOS服务器的从头到尾的指南:

第一部分–虚拟机设置

  1. 在此处安装Oracle VM VirtualBox和扩展包。
  2. 此处下载CentOS最小安装。
  3. 对于本教程,我使用的是Ubuntu客户端。可以在这里找到该ISO 。
  4. 创建CentOS服务器和您的客户端虚拟机。
  5. 设置CentOS VM。一种。打开安装目标,然后按返回。b。如果要更改主机名,请转到“网络和主机名”。C。可以在“本地化”下随意配置项目。其他所有内容均由VirtualBox自动处理。d。按开始安装。e。创建一个根帐户和一个普通帐户。确保后者具有管理员权限。F。加载栏装满后,按重新启动。
  6. 设置您的客户端VM。一种。安装VirtualBox来宾添加。

第二部分–虚拟网络配置

  1. 在VirtualBox中,按CTRL + W。
  2. 创建一个新的主机网络。一种。如果收到错误,则可能是由于主机操作系统导致VirtualBox安装驱动程序时出现问题。您将需要完全卸载VirtualBox并重新安装最新版本。确保以管理员身份运行安装。
  3. 在“适配器”选项卡下,选择“手动配置适配器”
  4. 对于Windows,打开命令提示符并键入ipconfig。
  5. 滚动浏览输出,直到找到刚创建的仅主机网络的名称。使用此IPv4地址和掩码进行VirtualBox网络配置。
  6. 关闭主机网络管理器。
  7. 打开客户端虚拟机的设置。在“网络”下,启用“适配器2”,选择“仅主机适配器”,然后该名称是新创建的仅主机网络的名称。
  8. 对您的CentOS服务器VM重复最后一步。此外,转到“高级”选项卡下的适配器1的端口转发并创建新规则。将主机和访客端口都设置为22。
  9. 关闭高级设置之前,请记下MAC地址。

第三部分–服务器配置

  1. 启动您的CentOS VM。
  2. 运行yum check-updateyum upgradeyum clean all
  3. 运行nmtui
  4. 点击“编辑连接”。
  5. 您应该看到“ enp03s”和“有线连接1”。一种。如果您有两个连接选项,但不确定是哪个,请编辑一个。如果设备值与第二部分的适配器1下显示的MAC地址匹配,则为您的NAT连接,否则为您的仅主机连接。
  6. 编辑仅主机的连接:将IPv4配置设置为“手动”。显示IPv4配置c。在VirtualBox中,按CTRL + W。在仅主机网络名称旁边,您应该会看到和IP地址/掩码的组合,形式为[[ip] / [mask] <Add…>。。d。向下按OK。
  7. 确保仅主机和NAT连接都选中了“自动连接”。
  8. 前往nmtuireboot

第四部分–客户端配置和使用

  1. 引导您的客户端VM。
  2. (可选)编辑/ etc / hosts以包括以下格式的一行:[serv_ip_addr] [hostname]其中serv_ip_addr是CentOS服务器的IP地址(hostname -I在CentOS终端中的第二个输出)。这将使您可以将为[主机名]选择的任何内容与服务器的IP地址互换使用。我通常将其设置为第二部分中选择的主机名。
  3. 如果到此为止一切正常,则您应该可以使用SSH [user]@[hostname]进入CentOS服务器。如果不是这种情况,则可能需要在计算机上安装openssh-client和安装openssh-server

第五部分–网站服务

  1. 是从上述设置托管您自己的网站的绝佳指南。

0

我必须通过为第二个适配器添加ufw规则来解决此问题:

ufw allow in on enp0s8 to 192.168.56.101 port 22 proto tcp

其中enp0s8是我的第二个适配器的名称(在旧的Ubuntu发行版中,这是eth1)。


-1

在您的Linux框中(VirtualBox Ubuntu),打开终端并输入以下命令: sudo service ssh start

此后尝试再次连接

哦,我的天哪,我错过了格罗诺斯塔杰指出的内容

好的,有时候解决方案非常简单。最近,我在Windows 7主机上的Slackware guest虚拟机遇到了同样的问题。我所要做的就是ifconfig up eth'X'并分配IP 192.168.56.xxx子网255.255.255.0(如果仅主机适配器)这个问题已经存在了将近一年,所以我为像我这样的人提到了这个问题在此页面上搜索“ ssh连接被拒绝” ;-)


OP已声明本地SSH连接有效,因此服务器正在运行。
gronostaj

-2

遇到相同的问题,通过向虚拟机添加虚拟硬盘来解决该问题,而虚拟机没有该硬盘。


这意味着您的问题有所不同。如果您的VM没有硬盘驱动器,则不会将其引导至OS,即OPs VM。在回答之前,请仔细阅读问题以确保您理解它们。
music2myear

这不能为问题提供答案。一旦您拥有足够的声誉,您就可以在任何帖子中发表评论;相反,请提供不需要问询者澄清的答案。- 来自评鉴
music2myear

我的VM在Linux 32位ISO文件上启动,没有附加的虚拟硬盘驱动器
Louis Garczynski,

这意味着您正在运行“实时” Linux会话,这绝对不是OP所处理的。我们很高兴您解决了您的问题,但是您的解决方案不是解决方案,甚至不是接近OP所经历的解决方案。
music2myear

您是完全正确的,我没有意识到OP的问题是如此具体。就是说,考虑到我收到相同的错误消息,我将在此处保留答案,以防万一遇到我的问题的人也出现在这里。
Louis Garczynski
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.