我有一个Ubuntu虚拟机运行在我的Windows 7机器上。我如何设置它,以便我可以通过SSH从外部访问web服务器?

我发现步骤(在VirtualBox主机和客户虚拟机之间设置SSH访问)能够从我的主机SSH到我的客户,但这仍然留给我通过路由器访问它的问题。

我想我可以在我的Windows机器上安装一个SSH服务器,然后隧道几次(虽然我不是100%确定在本地,动态等方面使用什么,或者如何设置多个隧道?),但是有没有一种方法可以让虚拟机直接访问我的路由器,这样我就可以直接端口转发到它?


当前回答

简单地将网络设置设置为桥接就可以了。

当你这样做时,你的IP会改变。然而,在我的情况下,它并没有立即改变。Ifconfig返回相同的ip。我重启了虚拟机,然后砰的一声,ip设置为1,从192开始。*我立即被允许ssh访问。

其他回答

您还可以在网络设置中使用桥接网络(或“桥接适配器”,在较新的版本中)。这将使您的VM与您的机器处于一个VLAN中。你可以像这样ssh进入VM。

ssh user@IP_OF_VM

如何为Solaris 10和Ubuntu 16.04做主机专用网络(比桥接更好)

添加纯主机接口

Virtualbox >文件>参数>网络>主机专用网络>添加 关闭虚拟机。 虚拟机设置>网络。第一个适配器应该是Nat,第二个适配器只能是主机。 打开cmd.exe,执行ipconfig /all命令。你应该看到以下几行: 以太网适配器VirtualBox主机专用网络: ... IPv4地址. . . . . . . . . . .: 192.168.59.1 guest中的第二个适配器也应该在192.168.59.*中。 启动虚拟机。

Solaris 10

检查ifconfig -a设置。您应该看到e1000g0和e1000g1。我们对e1000g1感兴趣。 Ifconfig e1000g down Ifconfig e1000g 192.168.56.10 netmask 255.255.255.0 up 从主机上检查该接口是否可达:ping 192.168.56.10

重新启动时保留这些设置

# vi /etc/hostname.e1000g1
192.168.56.10 netmask 255.255.255.0
# reboot

配置ssh服务(管理)以root身份登录(不建议)

检查ssh是否开启

# svcs -a | grep ssh
online         15:29:57 svc:/network/ssh:default

修改/etc/ssh/sshd_config

PermitRootLogin yes

重启ssh服务

svcadm restart ssh

从主机检查它

ssh root@192.168.56.10

Ubuntu 16.04

列表界面:

ip addr

您应该看到像lo、enp0s3、enp0s8这样的三个接口。我们将使用第三种。

编辑/etc/network/interfaces

auto enp0s8
iface enp0s8 inet static
    address 192.168.56.10
    netmask 255.255.255.0

然后sudo ifup enp0s8。检查enp0s8的地址是否正确。你应该看到你的ip:

 $ ip addr show enp0s8
 ...
    inet 192.168.56.10/24 brd 192.168.56.255 scope global secondary enp0s8

如果不是,可以运行sudo ifdown enp0s8 && sudo ifup enp0s8

https://superuser.com/questions/424083/virtualbox-host-ssh-to-guest/424115#424115

在安全网络上,将网络设置为网桥可能不起作用。管理员只能允许每个端口有一个mac地址,如果交换机在一个端口上检测到多个mac地址,则阻塞端口。

在我看来,最好的解决方案是设置额外的网络接口来处理您希望在计算机上运行的额外服务。所以我有一个桥接接口,当我把我的笔记本电脑带回家时,我可以从我网络上的其他设备SSH到它,当我想从我的笔记本电脑SSH到我的VM时,当我连接到校园的eduroam wifi网络时,我有一个主机适配器。

对于Windows主机,您可以:

在virtualbox管理器中: 在virtualbox管理器中选择ctrl+G, 然后进入网络面板 添加专用网络 确保“激活DHCP”未选中 网管(windows) 选择新创建的virtualbox主机专用适配器和物理网卡 右键选择“制作桥” 享受

将VirtualBox中的适配器类型更改为桥接,并将客户机设置为使用DHCP或在DHCP范围之外设置静态IP地址。这将使虚拟机像家庭网络上的普通客户一样工作。然后,您可以移植向前。