升级到 OpenSSL 1.0.1p 后无法运行 ssh

升级到 OpenSSL 1.0.1p 后无法运行 ssh

我升级 OpenSSL 1.0.1p

lsof | grep libssl

结果

防火墙 665 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
gmain 665 1197 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
调整 670 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
gmain 670 859 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
调整 670 860 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
调整 670 861 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
调整 670 862 根内存 REG 253,0 445544 805308545 /usr/lib64/libssl.so.1.0.1e
NetworkMa 890 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
NetworkMa 890 1085 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
gdbus 890 1088 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
sshd 1450 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
拾取 13721 后缀 DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0
sshd 14032 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
opendkim 25549 opendkim DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0
opendkim 25549 25550 opendkim DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0
opendkim 25549 25551 opendkim DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0
主控25654根DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0
qmgr 25656 后缀 DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0
tlsmgr 25662 后缀 DEL REG 253,0 806585326 /usr/lib64/libssl.so.1.0.0

我删除 libssl.so.1.0.1e、libcrypto.so.1.0.1e、libcrypto.so.10 并创建符号链接

libssl.so.1.0.1e 到 libssl.so.1.0.0

libcrypto.so.1.0.1e 到 libcrypto.so.1.0.0

libcrypto.so.10 到 libcrypto.so.1.0.0

lsof | grep libssl

防火墙 659 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
gmain 659 1265 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
调整 664 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
gmain 664 840 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
调整 664 841 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
调整 664 842 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
调整 664 851 根内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
NetworkMa 886 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
NetworkMa 886 1035 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
gdbus 886 1044 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
opendkim 1510 opendkim 内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
opendkim 1510 1518 opendkim 内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
opendkim 1510 1519 opendkim 内存 REG 253,0 0 806585325 /usr/lib64/libssl.so.1.0.0
sshd 2667 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
sshd 16899 根内存 REG 253,0 260456 805308647 /usr/lib64/libssl3.so
lsof | grep 库
防火墙 659 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
gmain 659 1265 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
调整 664 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
gmain 664 840 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
调整 664 841 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
调整 664 842 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
调整 664 851 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
ntpd 720 ntp mem REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
opendkim 1510 opendkim 内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
opendkim 1510 1518 opendkim 内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
opendkim 1510 1519 opendkim 内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
sshd 2667 根内存 REG 253,0 40816 805307655 /usr/lib64/libcrypt-2.17.so
sshd 2667 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0
sshd 16899 根内存 REG 253,0 40816 805307655 /usr/lib64/libcrypt-2.17.so
sshd 16899 根内存 REG 253,0 2226059 806585322 /usr/lib64/libcrypto.so.1.0.0

但是ssh有问题

错误消息:

ssh: /lib64/libcrypto.so.10: 没有可用的版本信息(ssh 需要)
ssh: /lib64/libcrypto.so.10: 没有可用的版本信息(ssh 需要)
ssh: /lib64/libcrypto.so.10: 没有可用的版本信息(ssh 需要)

答案1

你应该绝不从源代码升级基于包的发行版上的核心系统组件。不完全是,绝不。这样做会导致您所描述的问题。

要解决这个问题:

  1. 从源代码中完全删除您安装的 OpenSSL,并将所有链接放回之前存在的位置。您的系统现在将处于更新之前的状态。
  2. 从 RPM 包安装正确打包的 OpenSSL 版本。我看到官方的 CentOS 7 OpenSSL 软件包仍然是 1.0.1e(请参阅这里)但是您确定您想要的修复程序尚未包含在该软件包中吗?版本号有时会产生误导 - 红帽经常将软件包更新到较新的版本/向后移植修复程序,但保持软件包主要版本相同。

    您可以使用以下内容进行检查:

    rpm -q --changelog openssl | less
    

    我在以下位置看不到任何适用于 CentOS 7 的 OpenSSL 软件包EPEL但有第三方软件包可用。不过,我会犹豫是否信任 OpenSSL 的第三方存储库......

相关内容