[版权声明] 本站内容采用 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆 (CC BY-NC-SA 3.0 CN) 进行许可。
部分内容和资源来自网络,纯学习研究使用。如有侵犯您的权益,请及时联系我,我将尽快处理。
如转载请注明来自: Broly的博客,本文链接: VirtualBox宿主机SSH连接虚拟机
虚拟机两个知名产品VMware Workstation和VM VirtualBox都有用过,虽然VirtualBox短小精悍,但是用户体验和硬件优化上做的确实不如VMware,所以Windows下VMware绝对是首选,太好用了。
但是现在我准备逐渐弃用Windows,整个工作环境想迁移到*nix系统,而且也不太想用盗版的软件。所以放弃使用VMware Workstation,开始改用VirtualBox,又要踏上折腾之路了。隔了这么多版本没用,不知道有哪些改进。
首先碰到的问题,就是宿主机SSH连接不到虚拟机。:-(
VirtualBox安装好系统之后,默认连接是“网络地址转换(NAT)”,分配IP为10.0.2.15,可以访问外网和宿主机,但是宿主机却访问不了。
宿主机如果想要访问虚拟机,最简单的方法就是把连接方式改成"桥接",让路由也给虚拟机分配一个IP,但是很多时候,路由自己都控制不了(比如去图书馆、星巴克),所以桥接方式对网络环境依赖性比较大。
还有一种比较简单的方法,就是用“端口转发”功能:
一、设置连接方法
还是用默认的“网络地址转换(NAT)”不用变,如果不是,则设置成这个。
二、设置端口转发规则
因为我要用的是SSH功能,则转发虚拟机的22端口即可:
添加规则,每个字段填写:
- 名称:SSH
- 协议:TCP
- 主机IP:留空
- 子系统IP:留空
- 主机端口:8022(根据实际情况定义,不要与其它端口冲突)
- 子系统端口:22
保存即可,然后重启一下虚拟机。
用终端SSH登录虚拟机,发现可以成功登入了:
1 |
ssh -p 8022 root@127.0.0.1 |