个人Windows 7计算机上运行的是Ubuntu VM。 如何设置它以即可以经过SSH从外部访问Web服务器? 安全
我发现了一些步骤( 在VirtualBox主机和来宾VM之间进行设置SSH访问 )能够从主机向ssh来宾,可是仍然存在经过路由器访问它的问题。 bash
我想我能够在Windows机器上安装SSH服务器,而后进行几回隧道传输(尽管我不肯定100%肯定要使用本地,动态等等,仍是如何设置多个隧道?),可是有没有一种方法可使个人路由器直接访问VM,以便我能够直接移植到它? 服务器
保留NAT适配器并添加第二个仅主机适配器的效果很是好,这对于笔记本电脑(外部网络老是在变化的地方)相当重要。 网络
http://muffinresearch.co.uk/archives/2010/02/08/howto-ssh-into-virtualbox-3-linux-guests/ ssh
记住要在virtualbox自己中建立一个仅主机的网络(GUI->设置->网络),不然您不能在来宾上建立仅主机的接口。 tcp
登陆来宾Linux VirtualBox VM的最佳方法是端口转发 。 默认状况下,您应该已经有一个使用NAT的接口。 而后转到网络设置,而后单击端口转发按钮。 添加一个新规则 。 做为规则名称,插入“ ssh”。 做为“主机端口”,插入3022。做为“访客端口”,插入22。规则的全部其余内容均可以保留为空白。 ide
或从命令行 spa
VBoxManage modifyvm myserver --natpf1 "ssh,tcp,,3022,,22"
其中“ myserver”是建立的VM的名称。 检查添加的规则:
VBoxManage showvminfo myserver | grep 'Rule'
就这样! 请确保您不要忘记在VM中安装SSH服务器:
sudo apt-get install openssh-server
要将SSH SSH到访客VM,请输入:
ssh -p 3022 user@127.0.0.1
user
是您在VM中的用户名。
在VirtualBox文档中找到了有关如何使用NAT配置端口转发的很好的解释: http : //www.virtualbox.org/manual/ch06.html#natforward
只需将“网络设置”设置为桥接就能够了。
执行此操做时,您的IP将会更改。 可是,就我而言,它并无当即改变。 ifconfig
返回了相同的IP。 我从新启动了虚拟机,而后将IP设置为以192. *开始的IP。我当即被容许经过ssh访问。
在安全网络上,将您的网络设置为桥接可能不起做用。 管理员只能在每一个端口上容许一个MAC地址,或者若是交换机在一个端口上检测到多个Mac,则甚至可能阻塞该端口。
我认为最好的解决方案是设置其余网络接口,以处理您但愿在计算机上运行的其余服务。 所以,当我将笔记本电脑带回家时,我有一个桥接接口,能够进行桥接,而且当我想在链接时从笔记本电脑经过SSH进入虚拟机时,能够从网络上的其余设备以及仅主机适配器经过SSH进入它到校园中的eduroam wifi网络。