【服务器】无法进行ssh连接的问题逐一排查以及解决方法

一、检查服务器网络

先检查是否是网络的问题。按快捷键Win+R,在弹出的对话框中输入cmd。
在这里插入图片描述
点击确定运行。在cmd窗口输入ping一下服务器的ip地址。

在这里插入图片描述

如果出现请求超时,解决办法如下:

在服务器端输入ifconfig命令,查看要连接的网络的状态。如果服务器网卡正常,可能是连接时输入的ip地址错误,在xshell客户端输入正确的ip重新连接即可;否则就要重新配置网卡。

二、 检查端口是否开启

如果ip地址可以ping通,就要排查端口问题。在cmd窗口中,用telnet命令进行测试。
在这里插入图片描述

1. 如果显示连接失败,可能是端口未开,需要在服务器上查看端口信息。

netstat -ntlp|grep 22

在这里插入图片描述

2. 输入命令后,如果没有22端口的信息,就需要开放端口号。执行以下命令后再使用xshell重新连接服务器。

在这里插入图片描述

三、 检查SSH服务

ps -le|grep ssh

在这里插入图片描述

上图表示SSH服务已开启。如果没有启动,则需要执行命令“service ssh start”启动服务,然后重连服务器。

四、查看运行状态并启动ssh服务时报错

查看ssh运行状态:

systemctl status sshd.service

发现服务未启动,尝试使用命令

/etc/init.d/sshd start

启动服务,结果失败

使用命令journalctl -xe查看失败的具体原因,发现:

sshd: /lib/libcrypto.so.10: version `OPENSSL_1.0.2’ not found (required by sshd)

此时执行:

cp /usr/lib64/libcrypto.so.10 /usr/lib

最后重启ssh即可

1. 无法loading libgcc_s.so.1的问题

再次报错:

rpm: error while loading shared libraries: libgcc_s.so.1: cannot open
shared object file: No such file or directory

libgcc_s.so.1: cannot open shared object file: No such file or
directory

这是系统乱删rpm导致再次安装包时出现 error while loading shared libraries: libgcc_s.so.1所产生的问题

解决:

安装libgcc_s.so.1

# For RedHat (or similar distributions):
yum install libgcc_s.so.1

# For Debian (or similar distributions):
apt-get install libgcc_s.so.1

2. 安装libgcc 时

Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:

     1. You have an upgrade for libgcc which is missing some
        dependency that another package requires. Yum is trying to
        solve this by installing an older version of libgcc of the
        different architecture. If you exclude the bad architecture
        yum will tell you what the root cause is (which package
        requires what). You can try redoing the upgrade with
        --exclude libgcc.otherarch ... this should give you an error
        message showing the root cause of the problem.
   
     2. You have multiple architectures of libgcc installed, but
        yum can only see an upgrade for one of those arcitectures.
        If you don't want/need both architectures anymore then you
        can remove the one with the missing update and everything
        will work.
   
     3. You have duplicate versions of libgcc installed already.
        You can use "yum check" to get yum show these errors.
   
   ...you can also use --setopt=protected_multilib=false to remove
   this checking, however this is almost never the correct thing to
   do as something else is very likely to go wrong (often causing
   much more problems).
   
   Protected multilib versions: libgcc-4.4.7-4.el6.i686 != libgcc-4.4.7-3.el6.x86_64
   You could try using --skip-broken to work around the problem
   You could try running: rpm -Va --nofiles –nodigest

原理:
这是由于多个libgcc版本冲突所导致。libgcc_x86_64的版本与libgcc不同。尝试在安装libgcc_s库的同时更新libgcc_s_64库:

解决方案:

yum install libgcc.x86_64 libgcc_s.so.1

此时重启服务器以及重启ssh服务——成功解决!

当我们使用SSH协议连接服务器时,有时候会遇到这样的问题无法连接服务器,出现错误提示“network error: connection refused”。这种情况一般是由于以下原因所引起的。 1. SSH服务未启动或端口号不正确 SSH服务在Linux系统中是通过端口号进行通信的,由于端口号的限制,可能会出现SSH服务无法启动的情况,或者端口号被修改后导致无法访问SSH服务。此时需要确认SSH服务是否正常运行,以及正确的端口号是否被使用,可以使用命令“systemctl status sshd”查看服务状态。 2. 防火墙设置限制了SSH连接 服务器上的防火墙可能会限制SSH连接,在默认情况下,端口号22是被设置为SSH连接的端口,如果服务器的防火墙没有开放22端口,那么就无法成功连接。此时需要配置防火墙策略,如在CentOS系统上,可以使用命令“firewall-cmd --add-service=ssh --permanent”,并使用命令“firewall-cmd --reload”使配置生效。 3. SSH服务配置不正确 SSH服务的配置文件可能被错误地修改,导致SSH服务无法正常运行,比如服务端口号的设置、密钥认证的配置等等。此时需要重新检查SSH服务的配置文件,可以使用命令“vim /etc/ssh/sshd_config”进行修改。 总之,当我们遇到“network error: connection refused”错误提示时,需要进行逐一排查以上原因,找到问题所在并及时修复,才能确保成功连接服务器
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别出BUG求求了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值