1、安装 OpenSSH 阐明
1.1 安装情况
- 捏造机情况
捏造机情况OpenSSH版本OpenSSL版本升级前linux CentOSOpenSSH_7.4p1OpenSSL 1.0.2k升级方案一linux CentOSOpenSSH_9.3p1OpenSSL 1.0.2k升级方案二linux CentOSOpenSSH_9.5p1OpenSSL 1.1.1k/w
- 下载地点
- openssl:https://openssl-library.org/source/old/1.1.1/
- openssh:https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
- 留意事项
- 升级前务必保证捏造机已经打快照或备份。
- 留意:升级过程全程不要关闭xshell窗口!!!关闭后将无法ssh登录。
- 留意:提前将openssh和openssl安装包上传到捏造机!!!卸载ssh后将无法上传。
- 留意:升级openssh后查抄服务器ulimit值!!!
- 此次升级以“升级方案二”为准,进行 OpenSSH 和 OpenSSL 服务的安装升级
1.2 安装准备
- 查看当前openssh版本,并上传 openssh-9.5p1.tar.gz 至 /opt/openssh 目次
- $ ssh -V # 查看Openssh版本
- OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
复制代码 - 为方便统一管理发起安装包统一上传至如下目次:
(1)openssh 服务:/opt/openssh
(2)openssl 服务:/opt/openssl
- 查看是否关闭selinux
- $ getenforce # 查看状态
- Disabled
- $ setenforce 0 # 临时关闭
复制代码 - 查看相关依赖包是否安装
- $ rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel|openssl| "
复制代码 留意:安装包有差别问题不大, 只要所需的安装包存在即可, 即使未安装在后续安装openssh时, 也会提示!
2、安装 OpenSSL 服务
2.1 安装相关阐明
- 安装 OpenSSH 服务需要升级 OpenSSL 服务,否则安装过程会报错,报错信息如下:
- ...
- checking for OpenSSL_version... no
- checking for OpenSSL_version_num... no
- checking OpenSSL library version... configure: error: OpenSSL >= 1.1.1 required (have "100020bf (OpenSSL 1.0.2k-fips 26 Jan 2017)")
复制代码 - 留意:openssh 服务安装需要基于 openssl 服务才能安装,上述报错是由于 openssl 服务版本过低导致无法安装 openssh 服务,安装 openssh9.5p 版本会出现 openssl 版本过低提示,openssh9.3p 版本不会出现该情况!
2.2 安装前准备工作
- 上传 openssl-1.1.1w.tar.gz 安装包至 /opt/openssl 目次下
- $ mkdir -p /opt/openssl
- $ ll -h /opt/openssl
- -rw-r--r-- 1 root root 9.5M 12月 13 20:42 openssl-1.1.1w.tar.gz
复制代码 - 备份原有的 ssl 服务相关目次
- $ whereis openssl
- openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
- # 备份/usr/bin/openssl目录
- $ mv /usr/bin/openssl /usr/bin/openssl.bak
- # 备份/usr/lib64/openssl目录
- $ mv /usr/lib64/openssl /usr/lib64/openssl.bak
- # 备份/usr/include/openssl目录
- $ mv /usr/include/openssl /usr/include/openssl.bak
复制代码 - 安装所需依赖,查看卸载原有的 openssl 服务 (如非须要,不发起卸载依赖包)
- $ yum -y install gcc make perl zlib zlib-devel pam pam-devel
- $ rpm -qa | grep openssl # 查看系统原有openssh包
- openssl-devel-1.0.2k-26.el7_9.x86_64
- openssl-1.0.2k-19.el7.x86_64
- xmlsec1-openssl-1.2.20-7.el7_4.x86_64
- openssl-libs-1.0.2k-19.el7.x86_64
- $ rpm -e --nodeps <依赖包> # 卸载查询到的相关依赖包
- $ rpm -qa | grep openssl | xargs rpm -e --nodeps
复制代码 2.3 解压安装openssl
- 解压openssl-1.1.1w.tar.gz 安装包
- $ cd /opt/openssl
- $ tar -zxf openssl-1.1.1w.tar.gz # 解压安装包
- $ cd openssl-1.1.1w/
- $ mkdir -p /usr/local/openssl # 创建安装目录
复制代码 - 初始化,编译安装 openssl-1.1.1w 服务
- $ ./config --prefix=/usr/local/openssl --shared
- $ make && make install
复制代码
2.4 安装成功后配置
- 进行相关使用配置
- # 建立软连接, 替换原有的openssl
- $ ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
- $ ln -s /usr/local/openssl/include/openssl /usr/include/openssl
- # 检查软连接建立情况
- $ ls -al /usr/bin/openssl
- lrwxrwxrwx 1 root root 30 12月 23 23:01 /usr/bin/openssl -> /usr/local/openssl/bin/openssl
- $ ls -al /usr/include/openssl
- lrwxrwxrwx 1 root root 34 12月 23 23:01 /usr/include/openssl -> /usr/local/openssl/include/openssl
- $ ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
- $ ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
- # 添加动态链接库
- $ echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
- $ ldconfig # 刷新库
复制代码 (1)ldconfig是一个动态链接库管理命令。
(2)主要是在默认征采目次(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目次下, 搜索出可共享的动态链接库(格式如前介绍: lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
(3)缓存文件默认为/etc/ld.so.cache, 此文件生存已排好序的动态链接库名字列表。
(4)ldconfig通常在体系启动时运行, 当用户安装了新的动态链接库时,就需要手动运行这个命令。
- 查看 openssl 版本,看是否安装成功
- $ openssl version
- OpenSSL 1.1.1w 11 Sep 2023
- $ openssl version -a
- OpenSSL 1.1.1w 11 Sep 2023
- built on: Thu Dec 14 06:43:25 2023 UTC
- platform: linux-x86_64
- options: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
- compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
- OPENSSLDIR: "/usr/local/openssl/ssl"
- ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
- Seeding source: os-specific
复制代码 3、安装 OpenSSH 服务
3.1 安装前准备工作
- 上传 openssh-9.5p1.tar.gz 安装包至 /opt/openssh目次下
- $ mkdir -p /opt/openssh
- $ ll -h /opt/openssh
- -rw-r--r-- 1 root root 1.8M 4月 1 15:10 openssh-9.5p1.tar.gz
复制代码 - 备份原有的 ssh 服务相关目次
- # 查看ssh服务所在的目录
- $ whereis ssh
- ssh: /usr/bin/ssh /etc/ssh /usr/share/man/man1/ssh.1
- # 备份/etc/ssh/目录
- $ mv /etc/ssh/ /etc/ssh.bak
- # 备份/usr/bin/ssh目录
- $ mv /usr/bin/ssh /usr/bin/ssh.bak
- # 备份/usr/sbin/shhd文件
- $ mv /usr/sbin/sshd /usr/sbin/sshd.bak
- # 备份/etc/init.d/shhd文件
- $ mv /etc/init.d/sshd /etc/init.d/sshd.bak
- # 注意/etc/init.d/sshd不存在,则无需备份
- # /etc/pam.d/sshd.pam文件
- $ mv /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam.bak
- # 注意sshd.pam不存在,则无需备份,openssh9.0之前的版本可能有该文件
复制代码 - 卸载原有的 openssh 服务
- $ rpm -qa | grep openssh # 查看系统原有openssh包
- openssh-server-7.4p1-21.el7.x86_64
- openssh-clients-7.4p1-21.el7.x86_64
- openssh-7.4p1-21.el7.x86_64
- $ rpm -e --nodeps <依赖包> # 卸载查询到的相关依赖包
- $ rpm -qa | grep openssh | xargs rpm -e --nodeps # 重新查看是否卸载完全
复制代码 留意:若原 openssh 服务是基于源码安装的,则无需卸载;若基于 rpm 包安装,则可以执行卸载命令。
- 在 /etc/pam.d 目次下新建 sshd 文件
- # 注意: 如果文件已存在则无需修改
- $ vim /etc/pam.d/sshd
- #%PAM-1.0
- auth required pam_sepermit.so
- auth substack password-auth
- auth include postlogin
- # Used with polkit to reauthorize users in remote sessions
- -auth optional pam_reauthorize.so prepare
- account required pam_nologin.so
- account include password-auth
- password include password-auth
- # pam_selinux.so close should be the first session rule
- session required pam_selinux.so close
- session required pam_loginuid.so
- # pam_selinux.so open should only be followed by sessions to be executed in the user context
- session required pam_selinux.so open env_params
- session required pam_namespace.so
- session optional pam_keyinit.so force revoke
- session include password-auth
- session include postlogin
- # Used with polkit to reauthorize users in remote sessions
- -session optional pam_reauthorize.so prepare
复制代码 留意:请确认该文件是否成功创建并有内容且未出错,否则可能导致后续无法通过 ssh 远程登录
3.2 解压安装openssh
- 解压openssh-9.5p1.tar.gz
- $ cd /opt/openssh
- $ tar -zxf openssh-9.5p1.tar.gz
- $ cd openssh-9.5p1/
复制代码 - 初始化,编译安装 openssh-9.5p1 服务
- # 使用默认安装目录的openssl
- $ ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-privsep-path=/var/lib/sshd --without-hardening
- # 使用指定安装目录的openssl
- $ ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd --without-hardening
- # 使用指定安装目录的openssl和zlib
- $ ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-privsep-path=/var/lib/sshd --without-hardening
- # 编译安装
- $ make && make install
复制代码 - 初始化成功的信息如下:
- 安装成功的信息如下:
3.2 安装成功后配置
- 修改文件权限为600,否则会报权限错误
- # 修改ssh的相关秘钥文件的权限
- $ chmod 600 /etc/ssh/ssh_host_rsa_key
- $ chmod 600 /etc/ssh/ssh_host_ecdsa_key
- $ chmod 600 /etc/ssh/ssh_host_ed25519_key
- # 二选一执行即可
- $ chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
复制代码 - 修改允许远程登录
- # 修改配置文件,允许root直接登录
- $ echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
- $ echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- $ echo "UsePAM yes" >> /etc/ssh/sshd_config
复制代码 - 设置sshd开机自启
- # ssh服务必须开机自启动,因此要进行一些设置
- $ cp -p /opt/openssh/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
- $ chmod +x /etc/init.d/sshd
- $ chkconfig --add sshd
- $ chkconfig sshd on
- $ systemctl restart sshd
- $ systemctl status sshd
复制代码
- 验证查看当前的 openssh 版本
- $ ssh -V
- OpenSSH_9.5p1, OpenSSL 1.1.1w 11 Sep 2023
复制代码 4、验证 OpenSSH 服务
4.1 验证服务是否升级成功
- 关机,重新启动捏造机
- 通过 SSH 远程连接捏造机/服务器
- 验证查看当前的 openssh 版本
- $ ssh -V
- OpenSSH_9.5p1, OpenSSL 1.1.1w 11 Sep 2023
复制代码 - 查看sshd状态,sshd正常启动后可以重新打开一个窗口登录验证
4.2 编写服务升级脚本
- 升级 OpenSSL 服务脚本
- #!/bin/bash
- # 备份原有的openssl文件
- echo -e "\n \033[33m 开始备份OpenSSL服务文件... \033[0m \n"
- mv /usr/bin/openssl /usr/bin/openssl.bak
- mv /usr/lib64/openssl /usr/lib64/openssl.bak
- mv /usr/include/openssl /usr/include/openssl.bak
- # 解压OpenSSL安装包
- echo -e "\n \033[33m 开始解压OpenSSL安装包... \033[0m \n"
- cd /opt/openssl
- tar -zxvf openssl-1.1.1w.tar.gz
- cd openssl-1.1.1w/
- mkdir -p /usr/local/openssl
- # 编译安装OpenSSL
- echo -e "\n \033[33m 开始初始化、编译、安装OpenSSL服务... \033[0m \n"
- ./config --prefix=/usr/local/openssl --shared
- make && make install
- if [ $? -ne 0 ]; then
- echo -e "\n \033[30m OpenSSL服务安装失败!!! \033[0m \n"
- exit 1
- else
- echo -e "\n \033[33m OpenSSL服务安装成功... \033[0m \n"
- fi
- # 进行相关使用配置
- echo -e "\n \033[33m 开始为OpenSSL服务进行相关配置... \033[0m \n"
- ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
- ln -s /usr/local/openssl/include/openssl /usr/include/openssl
- ls -al /usr/bin/openssl
- ls -al /usr/include/openssl
- echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
- ldconfig
- # 查看服务是否安装成功
- echo -e "\n \033[33m 开始检测OpenSSL服务是否安装成功... \033[0m \n"
- openssl version
- openssl version -a
复制代码 - 升级 OpenSSH 服务脚本
- #!/bin/bash
- # 备份原有的openssl文件
- echo -e "\n \033[33m 开始备份OpenSSH服务文件... \033[0m \n"
- mv /etc/ssh/ /etc/ssh.bak
- mv /usr/bin/ssh /usr/bin/ssh.bak
- mv /usr/sbin/sshd /usr/sbin/sshd.bak
- mv /etc/init.d/sshd /etc/init.d/sshd.bak
- ls -h /etc/pam.d/sshd.pam
- # 解压OpenSSH安装包
- echo -e "\n \033[33m 开始解压OpenSSH安装包... \033[0m \n"
- cd /opt/openssh
- tar -zxf openssh-9.5p1.tar.gz
- cd openssh-9.5p1/
- # 编译安装OpenSSH
- echo -e "\n \033[33m 开始初始化、编译、安装OpenSSH服务... \033[0m \n"
- ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd --without-hardening
- make && make install
- if [ $? -ne 0 ]; then
- echo -e "\n \033[30m OpenSSH服务安装失败!!! \033[0m \n"
- exit 1
- else
- echo -e "\n \033[33m OpenSSH服务安装成功... \033[0m \n"
- fi
- # 进行相关使用配置
- echo -e "\n \033[33m 开始为OpenSSH服务进行相关配置... \033[0m \n"
- ls -h /etc/pam.d/sshd
- if [ $? -ne 0 ]; then
- echo -e "\n \033[30m SSH的身份验证等相关的配置文件不存在 \033[0m \n"
- exit 1
- else
- echo -e "\n \033[33m SSH的身份验证等相关的配置文件存在 \033[0m \n"
- fi
- chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
- echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
- echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- echo "UsePAM yes" >> /etc/ssh/sshd_config
- cp -pf /opt/openssh/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
- chmod +x /etc/init.d/sshd
- chkconfig --add sshd
- chkconfig sshd on
- systemctl restart sshd
- # 查看服务是否安装成功
- echo -e "\n \033[33m 开始检测OpenSSH服务是否安装成功... \033[0m \n"
- ssh -V
- systemctl status sshd
复制代码 留意:升级前请将服务的安装包上传到指定命令目次下,先升级 OpenSSL 服务再升级 OpenSSH 服务。
5、异常处置惩罚
5.1 处置惩罚openssh的ssl版本与openssl版本不一致问题
- 办理办法:
- 方案一: 重新源码安装 openssh 并指定 openssl 的安装为重新安装的位置
- 方案二: 重新编译生成rpm,安装openssl下编译的openssh rpm包
- 情况阐明:
OpenSSH版本OpenSSL版本升级前OpenSSH_7.4p1OpenSSL 1.0.2k升级后OpenSSH_9.5p1OpenSSL 1.1.1k- $ openssl version
- OpenSSL 1.1.1k 25 Mar 2021
- $ ssh -V
- OpenSSH_9.5p1, OpenSSL 1.0.2k-fips 26 Jan 2017
复制代码 具体阐明:
(1)源码安装 openssl 1.1.1k,安装成功后查看 openssl 版本
(2)查看 openssh 的 ssl 版本与 openssl 版本显示不一致
- 重新安装 openssh 服务
- # 备份原有的openssl文件
- $ mv /etc/ssh/ /etc/ssh.bak
- $ cp -r /usr/bin /usr/bin.bak
- $ mv /usr/sbin/sshd /usr/sbin/sshd.bak
- $ mv /etc/init.d/sshd /etc/init.d/sshd.bak
- # 解压OpenSSH安装包
- $ cd /opt/openssh
- $ tar -zxvf openssh-9.5p1.tar.gz
- $ cd openssh-9.5p1/
- # 编译安装OpenSSH
- $ ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --with-privsep-path=/var/lib/sshd --without-hardening
- $ make && make install
- # 进行相关使用配置
- $ chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
- $ echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
- $ echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
- $ echo "UsePAM yes" >> /etc/ssh/sshd_config
- $ cp -pf /opt/openssh/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
- $ chmod +x /etc/init.d/sshd
- $ chkconfig --add sshd
- $ chkconfig sshd on
- $ systemctl restart sshd
- $ systemctl status sshd
复制代码 - 查看是否安装成功
- # 查看服务是否安装成功
- $ openssl version
- OpenSSL 1.1.1k 25 Mar 2021
- $ ssh -V
- OpenSSH_9.5p1, OpenSSL 1.1.1k 25 Mar 2021
复制代码 5.2 处置惩罚openssl安装版本与Library版本不一致的问题
- 办理办法:
- 查抄软连接建立情况,修改 openssl 的 lib 库的链接
- 提升 lib 库在动态链接库 /etc/ld.so.conf 中的位置
- 方案一:
- # 查看ssl版本和链接的ssl库
- $ openssl version
- OpenSSL 1.1.1k 25 Mar 2021 (Library: OpenSSL 1.1.1w 11 Sep 2023)
- # 查看openssl调用的lib库情况
- $ ldd /usr/local/openssl/bin/openssl
- linux-vdso.so.1 => (0x00007ffd013ca000)
- libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f4b62a90000)
- libcrypto.so.1.1 => /usr/local/openssl/lib/libssl.so.1.1 (0x00007f4b625a8000) # 问题发现
- libdl.so.2 => /lib64/libdl.so.2 (0x00007f4b623a3000)
- libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4b62187000)
- libc.so.6 => /lib64/libc.so.6 (0x00007f4b61dc4000)
- libz.so.1 => /lib64/libz.so.1 (0x00007f4b61bad000)
- /lib64/ld-linux-x86-64.so.2 (0x00007f4b62d38000)
- # 查看软链接情况
- $ ls -l /usr/local/openssl/lib/libssl.so.1.1
- -rwxr-xr-x 1 root root 690110 Dec 22 20:05 /usr/local/openssl/lib/libssl.so.1.1
- # 重新建立软链接 (也有可能是/usr/local/openssl/lib64)
- $ ln -sf /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
- $ ln -sf /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
- # 查看ssl版本和链接的ssl库
- $ openssl version
- OpenSSL 1.1.1w 11 Sep 2023
复制代码 - 方案二:
- # 查看ssl版本和链接的ssl库
- $ openssl version
- OpenSSL 1.1.1k 25 Mar 2021 (Library: OpenSSL 1.1.1w 11 Sep 2023)
- # 将安装目录的lib库提高位置
- $ vim /etc/ld.so.conf
- ld.so.conf.d/*.conf
- /opt/openssl/openssl/lib
- /usr/local/lib64
- # 查看ssl版本和链接的ssl库
- $ openssl version
- OpenSSL 1.1.1w 11 Sep 2023
复制代码 5.3 处置惩罚openssh升级后无法登录的问题
- 情况阐明:
OpenSSH版本OpenSSL版本升级前OpenSSH_7.4p1OpenSSL 1.0.2k升级后OpenSSH_9.5p1OpenSSL 1.1.1k
- 原因分析: 从 openssh7.x 版本升级至 openssh9.x版本可能导致 /etc/pam.d/sshd文件被覆盖或删除,升级完 openssh 服务后,记得查看该文件是否存在,否则会导致无法通过 ssh 进行远程登录,大概显示暗码错误等问题。
- 解決办法: 重新创建 sshd 文件即可
- $ vim /etc/pam.d/sshd
- #%PAM-1.0
- auth required pam_sepermit.so
- auth substack password-auth
- auth include postlogin
- # Used with polkit to reauthorize users in remote sessions
- -auth optional pam_reauthorize.so prepare
- account required pam_nologin.so
- account include password-auth
- password include password-auth
- # pam_selinux.so close should be the first session rule
- session required pam_selinux.so close
- session required pam_loginuid.so
- # pam_selinux.so open should only be followed by sessions to be executed in the user context
- session required pam_selinux.so open env_params
- session required pam_namespace.so
- session optional pam_keyinit.so force revoke
- session include password-auth
- session include postlogin
- # Used with polkit to reauthorize users in remote sessions
- -session optional pam_reauthorize.so prepare
- $ systemctcl restart sshd
复制代码 5.4 升级 openssl 后导致 yum 命令无法正常使用
- 升级 openssl 至 1.1.1w 版本后使用 yum 命令出现如下情况:
这是由于 yum 使用的是旧版本的 OpenSSL 库,而新版本的 OpenSSL 已经安装。
- 办理办法1: 可能是由于删除了 openssl-libs 包导致的,重新安装 openssl-libs 包
- $ rpm -qa | grep openssl # 查看系统原有openssh包
- openssl-devel-1.0.2k-26.el7_9.x86_64
- openssl-1.0.2k-19.el7.x86_64
- xmlsec1-openssl-1.2.20-7.el7_4.x86_64
- openssl-libs-1.0.2k-19.el7.x86_64
- $ rpm -e --nodeps <依赖包> # 卸载查询到的相关依赖包
复制代码 卸载相关依赖包时,不要卸载openssl-libs-1.0.2k-19.el7.x86_64,卸载该依赖包会导致/usr/lib64/libssl.so.10被删除,从而导致 yum 命令无法使用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |