折腾了快一天了,最终还是使问题得到了解决,虽然结果并不那么如我所愿。废话不多说,首先,我已经安装了VirtualBox以及Ubuntu,我在使用Xshell连接虚拟机里面的Ubuntu的时候遇到了一个问题,虚拟机里面得上网方式默认使用的是网络地址转换(NAT)方式。
但是我没有怎么管它,当我在使用ifconfig查看虚拟机里面的ip地址的时候得到虚拟机的IP地址为10.0.2.15,然后连接失败!
这里失败的主要原因是因为,虚拟机的上网模式主要有4种,这里最主流的有两种,1:网桥,2:NAT。
对于网桥的连接方式,和NAT的区别在于,虚拟机使用网桥方式上网时可以拥有自己的IP地址,比如如果主机的IP为192.168.0.1,那么虚拟机的IP地址可能就为192.168.0.2等等,但是他们还是共用的一个MAC地址,而使用NAT方式上网的话(VirtualBox里面就是默认的使用的NAT方式),我们需要知道虚拟机通过NAT方式上网最终访问外网还是通过的宿主机的IP地址,所以也就是说虚拟机知道宿主机的IP地址,而宿主机是无法知道虚拟机的IP地址的,这就是为什么通过虚拟机可以ping通宿主机的IP地址,而宿主机却无法ping通虚拟机的IP地址。
而安装xshell就是为了更方便的控制虚拟机里面的Linux,所以,我们所要做的就是如何让虚拟机和宿主机之间可以相互的连通而不是单向的,这里在VirtualBox里面可以设置NAT的转发端口。
主机IP填写自己的宿主机的IP 子系统就是NAT方式下的虚拟机的IP地址 (0不使用,1~1023系统保留,只有root用户有权限使用,1024~4999由用户分配,5000~65535由服务器端分配,所以你定义的端口应该在1024~4999的范围内)。
设置好了之后就OK了,最好重启一下虚拟机。
然后通过xshell来新建回话就好了,这里192.168.56.4是我谁便写的一个宿主机IP地址,大家查看自己的主机IP地址写上就好了,端口号尽量不要改,使用默认的就好了。连上之后,输出用户名和密码就OK了。
当然如果虚拟机使用网桥的连接方式来进行和宿主机进行连通交互当然更好了,毕竟有自己的IP地址,当然本人使用网桥的连接方式来进行时遇到了些奇怪的问题,就直接使用NAT的端口转发方式进行的。