现象分析:
- 升级OpenSSL至OpenSSL-1.1.1g-12.el8_3后,服务器主动拒绝了所有的22端口连接请求,无法正常通过SSH连接服务器。
- 重启服务器后,服务器正常运行,但无法正常对外通讯。
过程:
2021-01-27 21:47 升级OpenSSL
2021-01-28 13:47 重启服务器后问题出现
2021-01-28 14:05:00 无法解决问题,提交工单
2021-01-28 14:46:45 实例进入救援模式,腾讯云后端工程师介入,对实例登机排查
2021-01-28 16:09:15 确认为升级OpenSSL导致的异常
2021-01-28 16:17:00 按常规方法修改ld.so.conf配置无效,尝试定位升级所修改的配置文件
2021-01-28 20:08:15 dump拷贝数据,进行临时业务迁移
2021-01-28 22:10:39 尝试修改和覆盖正常的配置文件来修复
2021-01-28 22:30:39 故障服务器数据镜像共享,转交服务商研究解决方案
2021-01-29 16:48:21 问题解决
解决流程:
使用VNC登录,进入linux单用户模式。
①VNC本地无法登陆,单用户下看 /var/log/secure 日志报错:
/usr/sbin/sshd: relocation error: /usr/sbin/sshd: symbol EVP_KDF_ctrl version OPENSSL_1_1_1b
查看/etc/ld.so.conf 未见有/usr/local/lib64 相关写入
History 查看有自编译openssl情况;
检查 ls –al /lib64/libcrypto.so.1.1 和 ls -al /lib64/libssl.so.1.1
软链接指向正常,文件正常,权限正常
和正常机器对比后删除自定义写入的路径信息信息;
执行/sbin/ldconfig 后重启还是相同报错;
②使用 ldconfig -p | grep ssl
查看当前系统搜索的动态库路径中还是有自编译 openssl 的路径。
查看include ld.so.conf.d/*.conf 路径 在zopenssl.conf中有相关路径写入
清理路径后 再执行/sbin/ldconfig 命令;
使用ldconfig -p | grep ssl 查看无自编译的路径;
重启后恢复;