SSH远程连接到Ubuntu VM


10

我没有网络或Linux方面的丰富经验,但是我正尝试从家庭网络外部进入SSH虚拟机。Ubuntu虚拟机(VirtualBox)在Debian桌面上运行。我做了一些研究,发现我必须将端口22从路由器转发到虚拟机。

  • 我将虚拟机上的网络设置更改为桥接。
  • 我正在将端口转发到VM。
  • 我检查了(http://www.yougetsignal.com/)以显示端口为开放状态。

但是当我尝试连接时,它仍然无法正常工作。ssh username @-连接被拒绝

我必须在虚拟机内部做些什么才能允许传入连接?还是转发任何端口?

有什么我做错的地方,任何帮助将不胜感激!


VM如何与主机联网。如果它在NAT之后(虚拟盒上的默认值)。如果您正确转发了端口,它将无法正常工作,但是桥接连接应该可以正常工作。
马特·莫兹

您正在使用ssh username @ router-ip-address对吗?
cprofitt 2012年

1
是的,username @ public-ip-address是吗?
user1354275'5

Ubuntu现成可用 ,包括OpenSSH client,它使您可以连接到另一台运行SSH服务器的计算机。要“连接”到Ubuntu,您需要在目标计算机上加载OpenSSH 服务器sudo apt-get install openssh-server)。
david6

Answers:


15

默认情况下,VirtualBox在“ NAT”模式下工作,这意味着它会构建“虚拟”网络并转换来自VM的网络访问权限,从而使这些访问似乎来自您的实际计算机。

VirtualBox使VM认为它已连接到网络,但实际上VirtualBox正在提供网络服务,包括小型DHCP服务器。然后,VirtualBox可以“代表” VM进行网络访问,从而使其仅作为PC上运行的另一个应用程序出现。

但是,这意味着外界并不真正了解VM,因此无法直接访问它。

我认为您进行的端口重定向是从家庭路由器到PC而不是VM。您可能在VirtualBox端缺少某些配置。抱歉,如果您已经这样做,但您对此尚不清楚。

基本上,您必须更改VM的网络配置并将其设置为“桥接”。它的作用是在PC上创建一个虚拟接口,并使VM使用该接口访问外界。进入或进入该接口的所有内容都将通过管道传输到VM。因此,无论您的PC连接到哪个网络,VM都将作为另一台计算机可见(甚至具有自己的MAC地址!)。

然后,根据网络的配置,VM可能会像连接到路由器的任何其他PC一样获得DHCP地址,或者您可能需要为其配置静态IP地址。这取决于您的网络设置方式。

VM具有“真实”地址后,您可以在路由器上按照找到的说明将端口22路由到VM的IP地址。这应该可以按您期望的那样工作。

如果没有:

  • 查看您的VM的防火墙配置(iptables -L -n)。它阻挡了什么吗?
  • 在本地网络上设置另一台计算机,然后尝试SSH到VM的IP地址。如果可以,则需要仔细检查路由器中的转发配置。如果不能,则需要重新检查VM的SSH和防火墙配置。

嗨,roadmr,我确实将网络设置更改为网桥,并且将端口转发到VM,因为它具有自己的IP,并且路由器能够找到它。我在isp上有一个静态IP。但是仍然无法正常工作
user1354275'5

1

据我所知,您的问题出在服务器计算机网络上,因为一旦将vm网络设置为桥接模式,您就可以使用了(检查ssh <your.vm.ip.number>服务器命令行上的内容-不在vm中)。

您的服务器位于路由器之后,就像在计算机中使用NAT的虚拟机一样。

您需要与服务器网络管理员联系,以便他/她可以将您的虚拟机的本地IP地址提交到端口的端口/端口范围(确保您的虚拟机具有静态IP地址)。

如果您具有服务器网关上的权限,则可以自己执行此操作。

一点可视化:

Internet
     '---ROUTER (SERVER1 and SERVER2 use NAT on this router)
            |   (vm1, vm2, vm3, vm4, vm5 need to be forwarded on this router)
            | 
            '--- SERVER1 (vm1, vm2, vm3 use Bridge)
            |       '---vm1
            |       '---vm2
            |       '---vm3
            '--- SERVER1 (vm4, vm5 use Bridge)
            |       '---vm4
            |       '---vm5
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.