【Linux】ssh: connect to host localhost port 22: No route to host

一、错误描述

        在linux 下使用ssh进行远程连接时,有时候会出现以下错误:   

          造成错误的原因有很多,我们逐一来排查。

二、排查思路

        2.1.是否处于同一网段

        使用指令“ifconfig”查看是否处于同一个网段,如被远程连接的电脑IP地址如下:

         执行远程连接的电脑IP地址如下:

       因为是“自动获取IP地址”的,所以系统将在DNS服务器中根据规则自动匹配对应的IP地址(有兴趣可以看看:【操作系统】十分钟了解关于TCP/IP网络的基础知识(二)ARP、路由器、DHCP、DNS以及TCP/IP),所以需要我们手动调整至与被连接的电脑相同的网段:

 

        保存后执行连接的电脑执行指令“ping localhost”,查询是否能够ping通,如例子中的IP地址,图下为连接上会返回的信息:

        这时再去尝试下是否能成功连接了,如果不行的话再看下一步。

        2.2.ssh服务检查

         在被连接的电脑上执行指令“ps  –e | grep  sshd”查看是否存在ssh 的进程:

        如果存在ssh进程,将会出现类似如下的信息:

 

        如果发现没有,请执行以下指令开启ssh 服务:

        开启后请再重新尝试下是否能成功连接,如果不行的话可以怀疑是ssh没有安装,请安装ssh后再进行问题排查。

        3.3. REMOTE HOST IDENTIFICATION HAS CHANGED

         如果出现以下提示信息:

        请执行指令“ssh-keygen -R XXXlocalhost”再重新ssh连接即可(详细可查看:【linux】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法)。

猜你喜欢

转载自blog.csdn.net/qq_41884002/article/details/127568775