一:概述

在学习Linux时,经常需要通过SSH协议去通过远程连接工具去连接这个Linux虚拟机,在这个过程中,会出现一个典型的错误就是Could not connect to xxxx (port 22): Connection failed(22端口连接失败)。接下来将介绍具体的解决办法,作为刚学习不久的小白,这个解决办法也是参考其他大佬解决问题的办法和结合自己出现的问题所针对的办法。如果是同样的问题就可以使用这个办法去解决,废话不多说了,具体看下面。

二:具体说明

<1>问题具体说明

具体问题就是通过XShell连接主机时,端口和IP地址都填写对了,并且用户名和密码设置的也对,点击连接之后,出现了Could not connect to xxxx (port 22): Connection failed.首先你这个Linux虚拟机得是开机的才可以,然后就是它的支持root用户可以通过SSH协议可以远程登录。满足这个条件情况下,才可以通过SSH协议远程连接虚拟机。否则就连接不成功。我的建议是初学者在学习Linux的时候,安装就选择支持root用户通过SSH协议远程连接,这样就规避了,后面通过远程连接出现不能连接问题,这个问题解决起来远比这个问题要难。在这里主要就针对下面这个问题。

Could not connect to xxxx (port 22): Connection failed

我在看视频的时候,发现视频中一连接就可以了,但是自己怎样也连接不上,安装虚拟机的时候也是根据步骤一步一步走的。接下来看看我详细介绍一下详细的具体解决步骤。

   <2>问题解决详细步骤

                     2.1防火墙未关闭导致的问题(一般默认情况下22端口都会开启的,这里不考虑这个问题)
  • 首先检查一下IP地址是否和自己的主机是否在一个同一个网段下。
  • 其次就检查这个防火墙有没有关闭,关闭防火墙的具体步骤如下:

               切换到root用户权限下:

解决Could not connect to xxxx (port 22): Connection failed._IP

   查看防火墙的状态

systemctl status firewalld.service

解决Could not connect to xxxx (port 22): Connection failed._IP_02

显示active,表示打开状态。

然后关闭它

systemctl stop firewalld.service 

执行之后再次运用上面一条命令查看防火墙服务状态。

解决Could not connect to xxxx (port 22): Connection failed._远程连接_03

此时显示已经关闭了。

这样每次开机都需要操作,比较麻烦,然后可以通过下面这个命令,让它不会自动开机。

systemctl disable firewalld.service

解决Could not connect to xxxx (port 22): Connection failed._远程连接_04

接下来查看一下IP就可以连接尝试了。

ifconfig

解决Could not connect to xxxx (port 22): Connection failed._远程连接_05

马赛克蒙住的就是ip地址。

接下来进行远程连接;

解决Could not connect to xxxx (port 22): Connection failed._IP_06

然后就显示连接成功了。完美解决。

注意虚拟机中网络配置需要选择

解决Could not connect to xxxx (port 22): Connection failed._IP_07

如果你买的有网卡,可以选择第一个。如果和我一样没有,选择第一个进去,就使用不了网络。