遇到的情況是,在虛擬機下安裝了Linux后,xshell無法連接遠程的虛擬機。
我遇到的情況是虛擬機可以ping 主機,主機確ping不了虛擬機。
使用的VM設置了兩個網卡,一個nat 一個host。
1、根據我自己理解,nat網卡是使虛擬機在不通過宿主機的情況下,可以自己訪問外網
2、而host是主機和虛擬機之間的連接通道。
當然,以上兩點是自己的想法,具體是不是還有待進一步學習之后來驗證。
現在入正題:
遇到xshell無法連接到虛擬機的情況,我在網上看了下,我大概總結為以下幾種情況:
1、宿主機或虛擬機中的防火牆阻止了xshell的訪問。
2、虛擬機中未安裝ssh或者沒有啟動ssh
3、xshel的22l端口占用
4、網絡設置的方式問題
解決方法:

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主機,且虛擬機中也能夠訪問外網。這就代表了不是虛擬機中的網絡配置出現的狀況,所以主要還是宿主機和虛擬機之間的連接問題。