下载解压最新的 OpenSSL
# 下载openssl源码包 # https://www.openssl.org/source/openssl-1.1.1h.tar.gz mkdir -p ~/downloads/openssl && cd ~/downloads/openssl wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1h.tar.gz # 解压缩 tar -xzvf OpenSSL_1_1_1h.tar.gz
# 编译安装 # 安装目录,默认./config --prefix=/usr/local, # 可选./config --prefix=/opt/openssl/ # 或 ./config --prefix=/usr/local/openssl/ cd openssl-OpenSSL_1_1_1h ./config --prefix=/usr/local/openssl/ make && make install
先备份原来的,替换当前系统的旧版本 openssl 。
ll /usr/lib64/libssl.so* ll /usr/lib64/libcrypto.so* lrwxrwxrwx. 1 root root 16 11月 19 2019 /usr/lib64/libssl.so -> libssl.so.1.0.2k -rwxr-xr-x. 1 root root 333K 3月 9 2016 /usr/lib64/libssl.so.0.9.8e lrwxrwxrwx. 1 root root 16 11月 18 2019 /usr/lib64/libssl.so.10 -> libssl.so.1.0.2k -rwxr-xr-x. 1 root root 460K 8月 9 2019 /usr/lib64/libssl.so.1.0.2k lrwxrwxrwx. 1 root root 16 11月 18 2019 /usr/lib64/libssl.so.6 -> libssl.so.0.9.8e lrwxrwxrwx. 1 root root 19 11月 19 2019 /usr/lib64/libcrypto.so -> libcrypto.so.1.0.2k -rwxr-xr-x. 1 root root 1.4M 3月 9 2016 /usr/lib64/libcrypto.so.0.9.8e lrwxrwxrwx. 1 root root 19 11月 18 2019 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.2k -rwxr-xr-x. 1 root root 2.5M 8月 9 2019 /usr/lib64/libcrypto.so.1.0.2k lrwxrwxrwx. 1 root root 19 11月 18 2019 /usr/lib64/libcrypto.so.6 -> libcrypto.so.0.9.8e
# 备份原文件 mkdir -p ~/openssl_bkp/usr/{lib64,bin,include} # cp -p /usr/lib64/{libssl.so.1.1,libcrypto.so.1.1} ~/openssl_bkp/usr/lib64 # rpm -e --nodeps openssl-1.0.2k openssl-devel-1.0.2k openssl-libs-1.0.2k mv /usr/bin/openssl ~/openssl_bkp/usr/bin/ mv /usr/include/openssl ~/openssl_bkp/usr/include/ mv /usr/lib64/openssl ~/openssl_bkp/usr/lib64/ mv /usr/lib64/libssl.so ~/openssl_bkp/usr/lib64/ mv /usr/lib64/libssl.so.1.1 ~/openssl_bkp/usr/lib64/ mv /usr/lib64/libcrypto.so.1.1 ~/openssl_bkp/usr/lib64/
# 复制编译后文件到系统路径下 # cp -i -p /usr/local/openssl/lib/{libssl.so.1.1,libcrypto.so.1.1} /usr/lib64/ # ll /usr/lib64/{libssl.so.*,libcrypto.so.*} # cp -i -p /usr/local/openssl/bin/openssl /usr/bin # ll /usr/openssl ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so # ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 # ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1 # 加入动态库的路径,加载so库的路径 # touch /etc/ld.so.conf.d/openssl-lib.conf echo "/usr/local/openssl/lib" >> /etc/ld.so.conf.d/openssl-lib.conf # 使生效 ldconfig -v
# openssh-8.4p1-1.el7.x86_64 有缺少的需求 libcrypto.so.1.1()(64bit) # openssh-8.4p1-1.el7.x86_64 有缺少的需求 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) # openssh-clients-8.4p1-1.el7.x86_64 有缺少的需求 libcrypto.so.1.1()(64bit) # openssh-clients-8.4p1-1.el7.x86_64 有缺少的需求 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) # openssh-server-8.4p1-1.el7.x86_64 有缺少的需求 libcrypto.so.1.1()(64bit) # openssh-server-8.4p1-1.el7.x86_64 有缺少的需求 libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) http://rpmfind.net/linux/epel/7/x86_64/Packages/o/openssl11-libs-1.1.1c-2.el7.x86_64.rpm
# 查看版本 $ openssl version OpenSSL 1.1.1h 22 Sep 2020