修复openssh漏洞,误操作导致服务器系统崩溃进行修复

前段时间公司项目上发现openssh漏洞,说实话这个漏洞这个挺烦人的,隔一段时间就会有,就要让升级,一天项目上三个机器报这个漏洞需要修复,因为不能现场操作,又是内网环境,所以就先编译成rpm包的格式,拿给现场小伙伴,rpm升级安装就是(rpm -Uvh *.rpm --nodeps --force),原本一切都还是整常的,由于现场服务器版本不相同 centos7,centos8小伙伴没有认真核对,直接在centos8上rpm安装,哇咔咔,yum,openssl ssh等命令均用不了了,【所以所有linux命令使用--force这个参数的时候要慎重!!】报错某个库文件不存在,原来是升级openssl的时候替换了lib64中的问题件,导致的,这可怎么办,于是在虚拟机上测试一下,果然,这个时候千万别重启服务器,因为重启服务器可能重启不起来,这个时候如果服务器能够通过vnc或者搬个显示器键盘进机房最好解决办法如下:

1、找一个和服务器一样的操作系统,安装一个同版本的虚拟机出来

$ls -l /                                                     ###查看lib64的真实路径在哪里

lrwxrwxrwx.   1 root root     9 Jun 22  2021 lib64 -> usr/lib64

$cd /usr && tar cf lib64.tar.gz lib64        ###把lib64整个目录打包

2、找一个笔记本电脑或者台式电脑,下载nginx,然后将lib64.tar.gz文件存放在nginx的/usr/share/nginx/html目录下面,配置电脑和服务器在同一网络下面,然后启动nginx

cmd里面 ,

cd $nginx所在目录 

 .\nginx.exe

3、到服务器上 下载lib64.tar.gz到 /usr目录下,例如电脑的ip是192.168.147.2

$wget     192.168.147.2/lib64.tar.gz

4、解压lib64.tar.gz

$ cd /usr && tar -xf lib64.tar.gz

5、验证 openssl   ssh yum 等命令是否可用

6、修改ssh配置再测试服务器是否能远程连接上

chmod 0600 /etc/ssh/ssh_host_rsa_key
chmod 0600 /etc/ssh/ssh_host_ecdsa_key
chmod 0600 /etc/ssh/ssh_host_ed25519_key
修改/etc/ssh/sshd_config
Port 22
PermitRootLogin yes   # 可以root远程登录
PasswordAuthentication yes  

7、如果还连接不上那就是selinux的问题,临时关闭,setenforce 0再试一试,如果可以就把selinux永久关闭了

$sed -i s'/SELINUX=enforcing/SELINUX=disabled/'g  /etc/selinux/config

比较尴尬的一种方式就是,在升级openssh服务失败后,你又重启了服务器,这个时候服务器启动不起来了,

1、找一个和服务器系统一样的操作系统放到移动硬盘里或者U盘里,然后重启服务器进入到bios选择光盘启动,F10 保存退出,然后选择Troubleshooting---再选择Rescue a CentOS Linux system---选择“1”continue---再根据提示执行 chroot /mnt/sysroot 后面的操作类似于前面的步骤,将lib64.tar.gz下载到服务器/usr目录,然后解压,然后修改ssh服务的一些配置,值得注意的是 原系统在 /mnt/sysroot目录下面,所以lib64.tar.gz解压要解压到  /mnt/sysroot/usr下面,这就是我的处理方式,不管白猫黑猫,逮到耗子就是好猫!虽然业余,但是够用。

祝,各位老铁用不上这个文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值