linux ssh ip 超时,ssh 内网ip 和 外网ip的情况

1、ssh命令说明:

ssh命令用于远程登录上Linux主机。使用方式:

       1、不指定用户:ssh 192.168.0.11

       2、指定用户:ssh root@192.168.0.11

----------------------------------------------------------------------------------------------------------------------

2、ssh ip 不通,超时情况:

ssh ip 出现连接超时的情况分析:

       ssh ip:分ip是局域网ip,还是公网ip两种情况:

       1、若ip是局域网ip。比如服务器A,在局域网M,但主机B在局域网N,如果想在服务器A上使用ssh命令登录到主机B上,使用命令ssh ip_b。明显如果ip_b只是个局域网ip,那么ssh显然是连接不到ip_b的。连接超时。

       比如,我在阿里云服务器,使用ssh去登录我主机上的虚拟机。因为虚拟机上分配的只是私网ip,并不是公网ip。所以,阿里云服务器肯定路由不到我的虚拟机上。就会提示链接超时。


但是ssh ip,ip是局域网ip,但是发出ssh命令的主机和ssh要登录的目标主机在同一个局域网下,那么ssh是可以远程登录的。


例如:我在一台主机下,同时开启了两台虚拟机,显然两台虚拟机都在同一个局域网下,虚拟机机B的IP =10.209.95.117.在虚拟机A上使用SSH登录虚拟机B,是可以登录的。如上所示。

       2、若ssh ip:ip 是公网ip。那么ssh命令无论在虚拟机上发出,还是在具有公网ip的主机上发出,都可以登录。因为有了公网ip,显然是可以找到该ip对应的主机的。

总结:虚拟机和其他网段上主机的通信,必须在虚拟机上用ssh,scp等需要通过网络进行交互的命令,因为虚拟机是没有公网ip的,只能虚拟机去路由其他主机,而不能其他主机来路由虚拟机。

----------------------------------------------------------------------------------------------------------------------

我的失败的经验:

1、阿里云服务器的ip是43.97.188.59(公网ip)。

2、虚拟机的ip是10.209.95.117(内网ip)

私网IP有三段,A、B、C类地址每类都有一段
A: 10.0.0.0~10.255.255.255 /8   
B:172.16.0.0~172.31.255.255 /16   
C:192.168.0.0~192.168.255.255 /24 

所以:10.209.95.117就是内网的地址。

 

我在阿里云服务器上:

       使用ssh命令:ssh [email protected]。因为10.209.95.118是内网地址,所以,ssh路由找不到这个内网的ip,就会connect timeout。

       但是在虚拟机上,ssh [email protected],IP43.97.188.59,是外网地址。所以,能ssh连接到阿里云服务器上。

       以前在学校里,用虚拟机和学校的服务器可以互相访问过,学校开的虚拟机的ip和学校服务器的ip应该都是内网ip.所以,ssh是否可以允许内网ip之间的互相访问。也做了一个实验:在学校内开了两个虚拟机,虚拟机分配的都是内网地址,分别是A:10.209.95.117 B:10.209.95.117。在虚拟机A上可以访问虚拟机B。

 

错误排查的经验:

1、阿里云服务器,ssh登录 不了虚拟机,如果确定原因呢?

2、第一步,因为,我使用xshell,可以登录阿里云服务器,故肯定不是云服务器防火墙等原因,并确定阿里云服务器也支持ssh登录等。并且在阿里云上ping www.baidu.com,是可以连通的。所以,阿里云服务器是允许连接,网络通畅,发送和接收数据都很通畅。

3、第二步,确定虚拟机是否有问题,首先确定虚拟机的宿主机器是否有问题,打开windows的cmd,ping www.baidu.com  发送和接收数据都没问题,显然,宿主机器网络通畅,虚拟机上ping www.baidu.com ,发送和接收数据都没问题,显然,虚拟机网络通畅。

4、使用虚拟机ping 云服务器的ip。可以接收到数据。说明,虚拟机可以路由到云服务器。

5、使用云服务器ping 虚拟机的ip,链接超时,说明,云服务器路由不到虚拟机的ip.显然,是虚拟机的ip有问题。

6、确定虚拟机的ip是内网ip,然后云服务器和虚拟机不在一个局域网内,所以,路由不到。

 

注意:使用ping 来确定主机A和主机B是否连通,不是一个好办法。因为有些路由器不支持ping ,所以,即使A和B是连通的,ping 也会被路由器截掉。所以,上述第4步,虚拟机ping 云服务器的ip,理论上是可行的,但是我ping 得不到结果。



你可能感兴趣的:(ssh)