Xshell无法连接Linux虚拟机问题

时间:2021-02-01 15:09:46

遇到的情况是,在虚拟机下安装了Linux后,xshell无法连接远程的虚拟机。


我遇到的情况是虚拟机可以ping 主机,主机确ping不了虚拟机。

使用的VM设置了两个网卡,一个nat  一个host。

1、根据我自己理解,nat网卡是使虚拟机在不通过宿主机的情况下,可以自己访问外网

2、而host是主机和虚拟机之间的连接通道。

当然,以上两点是自己的想法,具体是不是还有待进一步学习之后来验证。


现在入正题:

 遇到xshell无法连接到虚拟机的情况,我在网上看了下,我大概总结为以下几种情况:

1、宿主机或虚拟机中的防火墙阻止了xshell的访问。

2、虚拟机中未安装ssh或者没有启动ssh

3、xshel的22l端口占用

4、网络设置的方式问题


解决方法:

Xshell无法连接Linux虚拟机问题

1、关闭宿主机和虚拟机中的防火墙,linux虚拟机中的防火墙关闭为 :service iptables stop  可以查看虚拟机中的防火墙状态来查看是否关闭 service iptables status

2、在虚拟机中查看是否安装的命令为:rmp -qa | grep ssh  

 

使用yum install ssh进行安装 ,安装完成后service sshd start启动

3、在宿主机中使用netstat -an 查看端口,然后在任务管理器中找到端口占用的程序,进行关闭。

4、这里介绍下4种网络的设置方式:

nat模式:虚拟机中访问网络的所有数据都是由主机提供的,虚拟机并不真实存在。这种方式的虚拟机能够访问到主机,和网络中的其他主机,但是主机不能访问虚拟机,而且各个虚拟机之间也是独立的,无法互相访问

桥接模式:桥接访问是通过主机的网卡架设了一条桥,从而直接连入到网络,这样的虚拟机会被分配到一个独立的ip。这种方式的虚拟机和主机能够通过ip互相访问。

内部网络模式:内部网络模式是虚拟机和外网断开,只实现虚拟机和虚拟机之间的内部网络。这种d


以上是在网上看到其他人遇到的这个问题,和解决方案,最后自己的解决方案:

 我问题的原因是因为我配置的hostl连接方式,在宿主机中的host网络适配置是手动获取ip,我改为自动获取之后就好了。


总结:

 其实我这个问题是因为我主机没法ping通虚拟机,而虚拟机能够ping主机,且虚拟机中也能够访问外网。这就代表了不是虚拟机中的网络配置出现的状况,所以主要还是宿主机和虚拟机之间的连接问题。