【Linux】linux | 生产事故 | openssl升级导致ssh无法连接
原创
©著作权归作者所有:来自51CTO博客作者hgsuper的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、事故说明
1、装nginx时,报错了,查找度娘,说需要升级openssl
2、找了个像样的openssl升级教程,一通操作,导致结果:
1)看着升级成功了,但是缺少依赖
2)严重结果: ssh登录不上了,GG
3、因为用的阿里的服务器,vnc还能登录,就用vnc排查问题
4、vnc是真的狗,只能复制输入,没有复制输出;更没有上传文件
5、中间报的错,其实还用很多,忘记留存了
openssl: /usr/local/openssl/lib/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)
openssl: /usr/local/openssl/lib/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by openssl)
/usr/local/openssl/lib/libcrypto.so.1.1: version `OPENSSL_1_1_1' not found (required by /lib64/librpmio.so.8)
6、最后解决
1)还原了openssl版本
2)重装了ssh
3)重新配置了ssh
二、重要备份
1、openssl
1)没有特殊需要,不要动openssl,没有绝对的把握,慎重在慎重
2)openssl对系统内核有匹配的,非专业不能涉及
3)系统是CentOS 8,默认openssl版本
OpenSSL 1.1.1b
4)可以查看openssl版本
openssl version
5)如果要升级或者还原,可以去下载资源
https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/
6)openssl安装编译
a> 解压
tar -zxvf
b> 构建
./configure
c> 编译
make
d> 安装
make install
7)openssl安装完,不算晚,还要重构软连接
a> 进入目录
cd /usr/local/ssl/lib
b>备份
mv libcrypto.so libcrypto.so.bak
mv libssl.so libssl.so.bak
说明: 说是备份,其实出错了,还原可不是直接还原就够了
c> 重建软连接
ln -s /usr/local/ssl/lib/libcrypto.1.1 /usr/local/ssl/lib/libcrypto.so
ln -s /usr/local/ssl/lib/libssl.1.1 /usr/local/ssl/lib/libssl.so
8)如果升级1.1.1,可以查看是否有相关依赖
objdump -tT libssl.so.1.1 |grep OPENSSL_1_1_1
说明: 这个命令,我没看太懂,可以备份用
~~
2、ssh
1)卸载ssh
yum -y remove openssh
2)安装
yum -y install openssh
3)配置ssh
vi /etc/ssh/sshd_config
4)最后一行,添加一下内容
AddressFamily inet
SyslogFacility AUTHPRIV
PermitRootLogin yes
PasswordAuthentication yes
5)重启
systemctl restart sshd.service
6)重启失败,查看状态
systemctl status sshd.service
7)失败详情
journalctl -xe
8)查看ssh版本
ssh -V
~~