SSH 进入 VirtualBox 客户机:连接被拒绝

SSH 进入 VirtualBox 客户机:连接被拒绝

设置

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

问题

使用 PuTTY 通过 SSH 连接到客户操作系统的 IP(192.168.56.101),PuTTY 几乎立即返回

网络错误:连接被拒绝

我该如何诊断并解决这个问题?

答案1

您确定该 IP 是用于客户操作系统的吗?我遇到了同样的问题,结果发现我一直使用的 IP 192.168.56.101 实际上是 Windows 接口 IP,而主机操作系统 IP 是 192.168.56.103。

您可以通过在两者上执行 ipconfig / ifconfig 来验证。

注意:我还设置了一个静态 IP,但事实证明我根本不需要它。如果你从一开始就尝试,我发现教程会更好。

答案2

其余的解决方案都不太好,因为:

  1. 如果客户机无法访问互联网,则通过网桥 ssh 连接到客户机是没有意义的
  2. 上述所有其他解决方案都告诉您建造一枚火箭来过马路。

设想

  • 主机 Ubuntu 桌面 16.04
  • 客户机 Ubuntu Server 16.04(在 Virtual Box 5 上运行)

问题

SSH 连接被拒绝

解决方案

  1. 关闭你的 Ubuntu 客户机
  2. 在 Virtualbox 上,转到设置>网络>适配器 1>高级>端口转发
  3. 名称 = SSH Hostport = 2022(或除 22 之外的任何端口)Guestport(22)
  4. 重新启动您的客户机
  5. 在你的主机上打开 Putty 或者任何你用于 SSH 的工具
  6. 远程控制[电子邮件保护]-p2022(或您提到的任何主机端口)
  7. 玩得开心

答案3

以下对我有用:

前:

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 [email protected]

答案4

嘿,我刚刚回到我在故障排除和研究的小传奇中找到的第一页,希望我制作的这个教程可以为其他人省去所有的麻烦。

使用 Oracle VM 设置 CentOS 服务器的全套指南:

第一部分 — 虚拟机设置

  1. 安装 Oracle VM VirtualBox 和扩展包这里
  2. 下载 CentOS 最小安装这里
  3. 在本教程中,我使用的是 Ubuntu 客户端。该客户端的 ISO 可在以下位置找到:这里
  4. 创建 CentOS 服务器和客户端虚拟机。
  5. 设置 CentOS VM。a. 打开“安装目标”并按“返回”。b. 如果要更改主机名,请转到“网络和主机名”,我建议这样做。c. 随意配置“本地化”下的项目。其他一切都由 VirtualBox 自动处理。d. 按“开始安装”。e. 创建 root 帐户和普通帐户。确保后者具有管理员权限。f. 加载栏填满后,按“重新启动”。
  6. 设置您的客户端虚拟机。a. 安装 VirtualBox 客户机附加组件。

第二部分 – 虚拟网络配置

  1. 在 VirtualBox 中,按 CTRL+W。
  2. 创建新的主机网络。a. 如果您收到错误,这可能是由于您的主机操作系统导致 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-update、、yum upgradeyum clean all
  3. 跑步nmtui
  4. 在“编辑连接”上按回车键。
  5. 您应该会看到“enp03s”和“有线连接 1”。a. 如果您有两个连接选项,但不确定哪个是哪个,请编辑其中一个。如果设备值与第 II 部分中适配器 1 下的 MAC 地址匹配,则这是您的 NAT 连接,否则这是您的仅主机连接。
  6. 编辑仅主机连接:a. 将 IPv4 配置设置为“手动”。b. 显示 IPv4 配置 c. 在 VirtualBox 中,按 CTRL+W。在仅主机网络名称旁边,您应该看到 IP 地址/掩码组合,格式为“[ip]/[mask]”。在您的服务器上的 IPv4 配置下,这是您按 后输入的内容<Add…>。d. 向下并按 OK。
  7. 确保已选中仅主机连接和 NAT 连接的“自动连接”。
  8. 导航出nmtuireboot

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

  1. 启动您的客户端虚拟机。
  2. (可选)编辑 /etc/hosts 以包含以下格式的一行:[serv_ip_addr] [hostname] 其中 serv_ip_addr 是您的 CentOS 服务器的 IP 地址(hostname -ICentOS 终端中的第二个输出)。这将允许您将您选择的 [hostname] 与服务器的 IP 地址互换使用。我通常将其设置为第二部分中选择的主机名。
  3. 如果到目前为止一切正常,您应该能够 ssh[user]@[hostname]进入您的 CentOS 服务器。如果不是这种情况,您可能需要在您的机器上安装openssh-client和。openssh-server

第五部分 – 提供网站

  1. 是一个关于如何按照上面描述的设置来托管您自己的网站的极好的指南。

相关内容