瑞星 发表于 2024-10-28 06:36:01

Linux安装升级服务:OpenSSH

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-fips26 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-fips26 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 | xargsrpm -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
https://i-blog.csdnimg.cn/blog_migrate/ea8039a038484eb80c8ac3164b5ec1df.png
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.1w11 Sep 2023

$ openssl version -a
OpenSSL 1.1.1w11 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

[*] 初始化成功的信息如下:
https://i-blog.csdnimg.cn/blog_migrate/9c80edfe772e923ace0d2f221d0ebd28.png
[*] 安装成功的信息如下:
https://i-blog.csdnimg.cn/blog_migrate/2961b0bbb0d2d3d19f7abc027f7eba0c.png
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

https://i-blog.csdnimg.cn/blog_migrate/0a3ec3a2ed06f4b1abb0cabf14c0e36d.png
[*] 验证查看当前的 openssh 版本
$ ssh -V
OpenSSH_9.5p1, OpenSSL 1.1.1w11 Sep 2023

4、验证 OpenSSH 服务

4.1 验证服务是否升级成功



[*] 关机,重新启动捏造机
[*] 通过 SSH 远程连接捏造机/服务器
[*] 验证查看当前的 openssh 版本
$ ssh -V
OpenSSH_9.5p1, OpenSSL 1.1.1w11 Sep 2023

[*] 查看sshd状态,sshd正常启动后可以重新打开一个窗口登录验证
$ systemctl status sshd
https://i-blog.csdnimg.cn/blog_migrate/7917c0e24985727b53a6878f30b304bd.png
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.1k25 Mar 2021
$ ssh -V
OpenSSH_9.5p1, OpenSSL 1.0.2k-fips26 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.1k25 Mar 2021
$ ssh -V
OpenSSH_9.5p1, OpenSSL 1.1.1k25 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.1w11 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.1w11 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 命令出现如下情况:
https://i-blog.csdnimg.cn/blog_migrate/45ff3d11f06c1bc0eacb95e04f8e10ad.png
这是由于 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企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux安装升级服务:OpenSSH