通过virtualbox的port forwarding(端口映射/传递)功能实现对Ubuntu虚拟机的远程访问

来源:互联网 发布:牙膏什么牌子好 知乎 编辑:程序博客网 时间:2024/05/01 05:16

没有网络,一切都是浮云(有了网络,把浮云连起来,于是乎有了云计算....)


我们可以通过NAT方式很方便的使用host的网卡访问外网,那么如何远程访问虚拟机的服务呢?

virtualbox提供了port forwarding(端口映射)功能,即通过设定virtualbox监听主机的某个或某些端口,并将其映射到虚拟机的某些端口,从而打通外部到虚拟机的通道。


注:此处暂不敷述虚拟机的安装及其网络设置


我的工作环境:

主机:Win7 32Bit

虚拟软件:virtualbox

Linux虚拟机:Ubuntu 11.10 oneiric

虚拟机网络连接方式:NAT(Network Address Translation)


1.添加端口映射

设置->网络->Port Forwarding->Insert New Rules

如下图所示,将主机的12321端口映射到虚拟机的12345端口(注:virtualbox端口映射中host port不支持1024以下的端口,其他限制详见virtualbox帮助6.3.3. NAT limitations



2.安装ssh server

fly@fly:~$ sudo apt-get install openssh-server


3.将虚拟机ssh监听端口改为1中所设Guest Port

fly@fly:~$sudo gedit /etc/ssh/sshd_config

# What ports, IPs and protocols we listen for

port 12345  #1.中所设Guest Port


4.重启SSH服务以使设置生效

fly@fly:~$sudo /etc/init.d/ssh restart


5.测试

在另一台电脑上使用终端软件(Tera Term或putty等)通过SSH协议远程访问host的12321端口(注意是host,而不是直接访问虚拟机)

例如host IP 10.64.53.79,使用Tera Term进行测试,如下图所示

1)设置:Host IP, 选择SSH(注协议要选择SSH2,与)



2)输入虚拟机的用户名密码(也可在虚拟机SSH服务中添加用户并设定权限等)



3)小功告成



刚刚开始写东西,算做个小笔记,也希望能对和自己一样的菜鸟能有帮助。


未尽及疏漏之处望有识有空之人提示指正,在此拜谢!



原创粉丝点击