xShell远程连接服务器报错:Connection closed by foreign host(已解决)

出现问题的前一天还好好的,第二天早上打算继续搞没弄完的服务,结果远程连接服务器的时候出现如题的错误。
在这里插入图片描述
解决思路如下:
由于服务器在机房,所以先在远程尝试,看看是否有办法解决

1、ping服务器的ip,检查是否可以通过

在这里插入图片描述
显然易见是可以ping通的,但这并不能说明什么。

2、telnet 22端口查看是否可以通

在远程的cmd中执行:telnet ip 端口号
在这里插入图片描述
出现这种情况,可能22端口没开,或者说ssh服务没启动,去服务器检查防火墙,ssh服务是否正常,但我并不是这样,我telnet 完端口号后会出现一个连接的窗口,之后秒退,回到命令行,就像成功之后马上断开,在网上查了很多帖子也没有什么好的办法,只能去服务器里检查。

3、检查ssh服务是否正常

服务器正常的话,可以通过:service sshd status命令检查ssh服务是否启,我是因为服务器不知道什么问题,输入用户名密码后出现黑屏只有左上角一个光标在闪,无奈只好重新启动的服务器(建议能不重启服务区尽量不要重启),启动后需开启ssh服务,输入命令:service sshd startus,出现如下错误。
在这里插入图片描述
接下来通过命令:journalctl -u sshd 来查看日志
在这里插入图片描述发现共享库被破坏了,接着输入:ldd /usr/sbin/sshd 查看sshd的lib依赖
在这里插入图片描述
并没有发现什么,接着journalctl -u sshd 来查看日志,在日志中我们发现,缺少libcrypto.so.10这个库。
在这里插入图片描述
输入命令:ls /usr/lib64/libcrypto.so -l,来查看是否真的缺少这个包,发下真的没有libcrypto.so.10这个库,那么原因找到!

4、添加libcrypto.so.10库

思路一:

首先,找到通版本正常环境下的服务器,命令:rpm -qf /usr/lib64l/ibcrypto.so.10 查看这个库是由哪个rmp包提供的(无正常环境可直接百度)。
在这里插入图片描述
发现是在openssl-libs-1.0.1k-19.el7.x86_64提供的,插入系统盘或者将openssl-libs-1.0.1k-19.el7.x86_64.rpm包存入U盘或光盘中,lsblk命令查看盘符信息,找到相应的盘符,输入命令:mount /dev/盘符名 /mnt 将光盘挂载,命令升级/安装 openssl包:rpm -Uvh openssl-libs-1.0.1k-19.el7.x86_64.rpm,升级成功。按理来说问题应该得到解决,重启ssh服务,发现仍然起不来,只能换一总思路解决。
PS:拔U盘的时候记得取消挂载,命令:umount /dev/磁盘名

思路二:

对比现有正常环境,查看libcrypto.so.10文件
在这里插入图片描述
发现需要软连接libcrypto.so.1.0.2k这个文件(不同版本可能不一样),我便去镜像中的openssl-libs-1.0.1e-60.el7.x86_64.rpm包中找到libcrypto.so.1.0.2k文件,将其存放在U盘中,挂载U盘,步骤同上一样,将U盘的libcrypto.so.1.0.2k文件拷贝到/usr/lib路径下,接着进行软连接

ln -s /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.10  

重启ssh服务,问题解决,远程连接成功!

  • 1
    点赞
  • 1
    评论
  • 12
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值