Linux安装升级服务:OpenSSH

瑞星  金牌会员 | 2024-10-28 06:36:01 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 798|帖子 798|积分 2394

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 目次
    1. $ ssh -V                                                                        # 查看Openssh版本
    2. OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
    复制代码
  • 为方便统一管理发起安装包统一上传至如下目次:
           (1)openssh 服务:/opt/openssh
    (2)openssl 服务:/opt/openssl
  • 查看是否关闭selinux
    1. $ getenforce                                                 # 查看状态
    2. Disabled
    3. $ setenforce 0                                                 # 临时关闭
    复制代码
  • 查看相关依赖包是否安装
    1. $ rpm -qa | egrep "gcc|make|perl|zlib|zlib-devel|pam|pam-devel|openssl| "
    复制代码
    留意:安装包有差别问题不大, 只要所需的安装包存在即可, 即使未安装在后续安装openssh时, 也会提示!
2、安装 OpenSSL 服务

2.1 安装相关阐明



  • 安装 OpenSSH 服务需要升级 OpenSSL 服务,否则安装过程会报错,报错信息如下:
    1. ...
    2. checking for OpenSSL_version... no
    3. checking for OpenSSL_version_num... no
    4. 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 目次下
    1. $ mkdir -p /opt/openssl
    2. $ ll -h /opt/openssl
    3. -rw-r--r-- 1 root root 9.5M 12月 13 20:42 openssl-1.1.1w.tar.gz
    复制代码
  • 备份原有的 ssl 服务相关目次
    1. $ whereis openssl
    2. openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
    3. # 备份/usr/bin/openssl目录
    4. $ mv /usr/bin/openssl /usr/bin/openssl.bak
    5. # 备份/usr/lib64/openssl目录
    6. $ mv /usr/lib64/openssl /usr/lib64/openssl.bak
    7. # 备份/usr/include/openssl目录
    8. $ mv /usr/include/openssl /usr/include/openssl.bak
    复制代码
  • 安装所需依赖,查看卸载原有的 openssl 服务 (如非须要,不发起卸载依赖包)
    1. $ yum -y install gcc make perl zlib zlib-devel pam pam-devel
    2. $ rpm -qa | grep openssl                        # 查看系统原有openssh包
    3. openssl-devel-1.0.2k-26.el7_9.x86_64
    4. openssl-1.0.2k-19.el7.x86_64
    5. xmlsec1-openssl-1.2.20-7.el7_4.x86_64
    6. openssl-libs-1.0.2k-19.el7.x86_64
    7. $ rpm -e --nodeps <依赖包>                        # 卸载查询到的相关依赖包
    8. $ rpm -qa | grep openssl | xargs  rpm -e --nodeps
    复制代码
2.3 解压安装openssl



  • 解压openssl-1.1.1w.tar.gz 安装包
    1. $ cd /opt/openssl
    2. $ tar -zxf openssl-1.1.1w.tar.gz        # 解压安装包
    3. $ cd openssl-1.1.1w/
    4. $ mkdir -p /usr/local/openssl                # 创建安装目录
    复制代码
  • 初始化,编译安装 openssl-1.1.1w 服务
    1. $ ./config --prefix=/usr/local/openssl --shared
    2. $ make && make install
    复制代码

2.4 安装成功后配置



  • 进行相关使用配置
    1. # 建立软连接, 替换原有的openssl
    2. $ ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    3. $ ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    4. # 检查软连接建立情况
    5. $ ls -al /usr/bin/openssl
    6. lrwxrwxrwx 1 root root 30 12月 23 23:01 /usr/bin/openssl -> /usr/local/openssl/bin/openssl
    7. $ ls -al /usr/include/openssl
    8. lrwxrwxrwx 1 root root 34 12月 23 23:01 /usr/include/openssl -> /usr/local/openssl/include/openssl
    9. $ ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
    10. $ ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
    11. # 添加动态链接库
    12. $ echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
    13. $ ldconfig                        # 刷新库
    复制代码
          (1)ldconfig是一个动态链接库管理命令。
    (2)主要是在默认征采目次(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目次下, 搜索出可共享的动态链接库(格式如前介绍: lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
    (3)缓存文件默认为/etc/ld.so.cache, 此文件生存已排好序的动态链接库名字列表。
    (4)ldconfig通常在体系启动时运行, 当用户安装了新的动态链接库时,就需要手动运行这个命令。
  • 查看 openssl 版本,看是否安装成功
    1. $ openssl version
    2. OpenSSL 1.1.1w  11 Sep 2023
    3. $ openssl version -a
    4. OpenSSL 1.1.1w  11 Sep 2023
    5. built on: Thu Dec 14 06:43:25 2023 UTC
    6. platform: linux-x86_64
    7. options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
    8. 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
    9. OPENSSLDIR: "/usr/local/openssl/ssl"
    10. ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
    11. Seeding source: os-specific
    复制代码
3、安装 OpenSSH 服务

3.1 安装前准备工作



  • 上传 openssh-9.5p1.tar.gz 安装包至 /opt/openssh目次下
    1. $ mkdir -p /opt/openssh
    2. $ ll -h /opt/openssh
    3. -rw-r--r-- 1 root root 1.8M 4月   1 15:10 openssh-9.5p1.tar.gz
    复制代码
  • 备份原有的 ssh 服务相关目次
    1. # 查看ssh服务所在的目录
    2. $ whereis ssh
    3. ssh: /usr/bin/ssh /etc/ssh /usr/share/man/man1/ssh.1
    4. # 备份/etc/ssh/目录
    5. $ mv /etc/ssh/ /etc/ssh.bak
    6. # 备份/usr/bin/ssh目录
    7. $ mv /usr/bin/ssh /usr/bin/ssh.bak
    8. # 备份/usr/sbin/shhd文件
    9. $ mv /usr/sbin/sshd /usr/sbin/sshd.bak
    10. # 备份/etc/init.d/shhd文件
    11. $ mv /etc/init.d/sshd /etc/init.d/sshd.bak
    12. # 注意/etc/init.d/sshd不存在,则无需备份
    13. # /etc/pam.d/sshd.pam文件
    14. $ mv /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam.bak
    15. # 注意sshd.pam不存在,则无需备份,openssh9.0之前的版本可能有该文件
    复制代码
  • 卸载原有的 openssh 服务
    1. $ rpm -qa | grep openssh                        # 查看系统原有openssh包
    2. openssh-server-7.4p1-21.el7.x86_64
    3. openssh-clients-7.4p1-21.el7.x86_64
    4. openssh-7.4p1-21.el7.x86_64
    5. $ rpm -e --nodeps <依赖包>                        # 卸载查询到的相关依赖包
    6. $ rpm -qa | grep openssh | xargs rpm -e --nodeps  # 重新查看是否卸载完全
    复制代码
    留意:若原 openssh 服务是基于源码安装的,则无需卸载;若基于 rpm 包安装,则可以执行卸载命令。
  • 在 /etc/pam.d 目次下新建 sshd 文件
    1. # 注意: 如果文件已存在则无需修改
    2. $ vim /etc/pam.d/sshd
    3. #%PAM-1.0
    4. auth       required     pam_sepermit.so
    5. auth       substack     password-auth
    6. auth       include      postlogin
    7. # Used with polkit to reauthorize users in remote sessions
    8. -auth      optional     pam_reauthorize.so prepare
    9. account    required     pam_nologin.so
    10. account    include      password-auth
    11. password   include      password-auth
    12. # pam_selinux.so close should be the first session rule
    13. session    required     pam_selinux.so close
    14. session    required     pam_loginuid.so
    15. # pam_selinux.so open should only be followed by sessions to be executed in the user context
    16. session    required     pam_selinux.so open env_params
    17. session    required     pam_namespace.so
    18. session    optional     pam_keyinit.so force revoke
    19. session    include      password-auth
    20. session    include      postlogin
    21. # Used with polkit to reauthorize users in remote sessions
    22. -session   optional     pam_reauthorize.so prepare
    复制代码
    留意:请确认该文件是否成功创建并有内容且未出错,否则可能导致后续无法通过 ssh 远程登录
3.2 解压安装openssh



  • 解压openssh-9.5p1.tar.gz
    1. $ cd /opt/openssh
    2. $ tar -zxf openssh-9.5p1.tar.gz
    3. $ cd openssh-9.5p1/
    复制代码
  • 初始化,编译安装 openssh-9.5p1 服务
    1. # 使用默认安装目录的openssl
    2. $ ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-privsep-path=/var/lib/sshd --without-hardening
    3. # 使用指定安装目录的openssl
    4. $ ./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
    5. # 使用指定安装目录的openssl和zlib
    6. $ ./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
    7. # 编译安装
    8. $ make && make install
    复制代码
  • 初始化成功的信息如下:

  • 安装成功的信息如下:

3.2 安装成功后配置



  • 修改文件权限为600,否则会报权限错误
    1. # 修改ssh的相关秘钥文件的权限
    2. $ chmod 600 /etc/ssh/ssh_host_rsa_key
    3. $ chmod 600 /etc/ssh/ssh_host_ecdsa_key
    4. $ chmod 600 /etc/ssh/ssh_host_ed25519_key
    5. # 二选一执行即可
    6. $ chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
    复制代码
  • 修改允许远程登录
    1. # 修改配置文件,允许root直接登录
    2. $ echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
    3. $ echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    4. $ echo "UsePAM yes" >> /etc/ssh/sshd_config
    复制代码
  • 设置sshd开机自启
    1. # ssh服务必须开机自启动,因此要进行一些设置
    2. $ cp -p /opt/openssh/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
    3. $ chmod +x /etc/init.d/sshd
    4. $ chkconfig --add sshd
    5. $ chkconfig sshd on
    6. $ systemctl restart sshd
    7. $ systemctl status sshd
    复制代码

  • 验证查看当前的 openssh 版本
    1. $ ssh -V
    2. OpenSSH_9.5p1, OpenSSL 1.1.1w  11 Sep 2023
    复制代码
4、验证 OpenSSH 服务

4.1 验证服务是否升级成功



  • 关机,重新启动捏造机
  • 通过 SSH 远程连接捏造机/服务器
  • 验证查看当前的 openssh 版本
    1. $ ssh -V
    2. OpenSSH_9.5p1, OpenSSL 1.1.1w  11 Sep 2023
    复制代码
  • 查看sshd状态,sshd正常启动后可以重新打开一个窗口登录验证
    1. $ systemctl status sshd
    复制代码

4.2 编写服务升级脚本



  • 升级 OpenSSL 服务脚本
    1. #!/bin/bash
    2. # 备份原有的openssl文件
    3. echo -e "\n \033[33m 开始备份OpenSSL服务文件... \033[0m \n"
    4. mv /usr/bin/openssl /usr/bin/openssl.bak
    5. mv /usr/lib64/openssl /usr/lib64/openssl.bak
    6. mv /usr/include/openssl /usr/include/openssl.bak
    7. # 解压OpenSSL安装包
    8. echo -e "\n \033[33m 开始解压OpenSSL安装包... \033[0m \n"
    9. cd /opt/openssl
    10. tar -zxvf openssl-1.1.1w.tar.gz
    11. cd openssl-1.1.1w/
    12. mkdir -p /usr/local/openssl
    13. # 编译安装OpenSSL
    14. echo -e "\n \033[33m 开始初始化、编译、安装OpenSSL服务... \033[0m \n"
    15. ./config --prefix=/usr/local/openssl --shared
    16. make && make install
    17. if [ $? -ne 0 ]; then
    18.     echo -e "\n \033[30m OpenSSL服务安装失败!!! \033[0m \n"
    19.     exit 1
    20. else
    21.         echo -e "\n \033[33m OpenSSL服务安装成功... \033[0m \n"
    22. fi
    23. # 进行相关使用配置
    24. echo -e "\n \033[33m 开始为OpenSSL服务进行相关配置... \033[0m \n"
    25. ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
    26. ln -s /usr/local/openssl/include/openssl /usr/include/openssl
    27. ls -al /usr/bin/openssl
    28. ls -al /usr/include/openssl
    29. echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
    30. ldconfig
    31. # 查看服务是否安装成功
    32. echo -e "\n \033[33m 开始检测OpenSSL服务是否安装成功... \033[0m \n"
    33. openssl version       
    34. openssl version -a
    复制代码
  • 升级 OpenSSH 服务脚本
    1. #!/bin/bash
    2. # 备份原有的openssl文件
    3. echo -e "\n \033[33m 开始备份OpenSSH服务文件... \033[0m \n"
    4. mv /etc/ssh/ /etc/ssh.bak
    5. mv /usr/bin/ssh /usr/bin/ssh.bak
    6. mv /usr/sbin/sshd /usr/sbin/sshd.bak
    7. mv /etc/init.d/sshd /etc/init.d/sshd.bak
    8. ls -h /etc/pam.d/sshd.pam
    9. # 解压OpenSSH安装包
    10. echo -e "\n \033[33m 开始解压OpenSSH安装包... \033[0m \n"
    11. cd /opt/openssh
    12. tar -zxf openssh-9.5p1.tar.gz
    13. cd openssh-9.5p1/
    14. # 编译安装OpenSSH
    15. echo -e "\n \033[33m 开始初始化、编译、安装OpenSSH服务... \033[0m \n"
    16. ./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
    17. make && make install
    18. if [ $? -ne 0 ]; then
    19.     echo -e "\n \033[30m OpenSSH服务安装失败!!! \033[0m \n"
    20.     exit 1
    21. else
    22.         echo -e "\n \033[33m OpenSSH服务安装成功... \033[0m \n"
    23. fi
    24. # 进行相关使用配置
    25. echo -e "\n \033[33m 开始为OpenSSH服务进行相关配置... \033[0m \n"
    26. ls -h /etc/pam.d/sshd
    27. if [ $? -ne 0 ]; then
    28.     echo -e "\n \033[30m SSH的身份验证等相关的配置文件不存在 \033[0m \n"
    29.     exit 1
    30. else
    31.         echo -e "\n \033[33m SSH的身份验证等相关的配置文件存在 \033[0m \n"
    32. fi
    33. chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
    34. echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
    35. echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    36. echo "UsePAM yes" >> /etc/ssh/sshd_config
    37. cp -pf /opt/openssh/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
    38. chmod +x /etc/init.d/sshd
    39. chkconfig --add sshd
    40. chkconfig sshd on
    41. systemctl restart sshd
    42. # 查看服务是否安装成功
    43. echo -e "\n \033[33m 开始检测OpenSSH服务是否安装成功... \033[0m \n"
    44. ssh -V
    45. 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
    1. $ openssl version
    2. OpenSSL 1.1.1k  25 Mar 2021
    3. $ ssh -V
    4. OpenSSH_9.5p1, OpenSSL 1.0.2k-fips  26 Jan 2017
    复制代码
          具体阐明:
    (1)源码安装 openssl 1.1.1k,安装成功后查看 openssl 版本
    (2)查看 openssh 的 ssl 版本与 openssl 版本显示不一致
  • 重新安装 openssh 服务
    1. # 备份原有的openssl文件
    2. $ mv /etc/ssh/ /etc/ssh.bak
    3. $ cp -r /usr/bin /usr/bin.bak
    4. $ mv /usr/sbin/sshd /usr/sbin/sshd.bak
    5. $ mv /etc/init.d/sshd /etc/init.d/sshd.bak
    6. # 解压OpenSSH安装包
    7. $ cd /opt/openssh
    8. $ tar -zxvf openssh-9.5p1.tar.gz
    9. $ cd openssh-9.5p1/
    10. # 编译安装OpenSSH
    11. $ ./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
    12. $ make && make install
    13. # 进行相关使用配置
    14. $ chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
    15. $ echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
    16. $ echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    17. $ echo "UsePAM yes" >> /etc/ssh/sshd_config
    18. $ cp -pf /opt/openssh/openssh-9.5p1/contrib/redhat/sshd.init /etc/init.d/sshd
    19. $ chmod +x /etc/init.d/sshd
    20. $ chkconfig --add sshd
    21. $ chkconfig sshd on
    22. $ systemctl restart sshd
    23. $ systemctl status sshd
    复制代码
  • 查看是否安装成功
    1. # 查看服务是否安装成功
    2. $ openssl version
    3. OpenSSL 1.1.1k  25 Mar 2021
    4. $ ssh -V
    5. OpenSSH_9.5p1, OpenSSL 1.1.1k  25 Mar 2021
    复制代码
5.2 处置惩罚openssl安装版本与Library版本不一致的问题



  • 办理办法:

    • 查抄软连接建立情况,修改 openssl 的 lib 库的链接
    • 提升 lib 库在动态链接库 /etc/ld.so.conf 中的位置

  • 方案一:
    1. # 查看ssl版本和链接的ssl库
    2. $ openssl version
    3. OpenSSL 1.1.1k 25 Mar 2021 (Library: OpenSSL 1.1.1w 11 Sep 2023)
    4. # 查看openssl调用的lib库情况
    5. $ ldd /usr/local/openssl/bin/openssl
    6. linux-vdso.so.1 =>  (0x00007ffd013ca000)
    7. libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f4b62a90000)
    8. libcrypto.so.1.1 => /usr/local/openssl/lib/libssl.so.1.1 (0x00007f4b625a8000)                # 问题发现
    9. libdl.so.2 => /lib64/libdl.so.2 (0x00007f4b623a3000)
    10. libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4b62187000)
    11. libc.so.6 => /lib64/libc.so.6 (0x00007f4b61dc4000)
    12. libz.so.1 => /lib64/libz.so.1 (0x00007f4b61bad000)
    13. /lib64/ld-linux-x86-64.so.2 (0x00007f4b62d38000)
    14. # 查看软链接情况
    15. $ ls -l /usr/local/openssl/lib/libssl.so.1.1
    16. -rwxr-xr-x 1 root root 690110 Dec 22 20:05 /usr/local/openssl/lib/libssl.so.1.1
    17. # 重新建立软链接 (也有可能是/usr/local/openssl/lib64)
    18. $ ln -sf /usr/local/openssl/lib/libssl.so.1.1      /usr/lib64/libssl.so.1.1
    19. $ ln -sf /usr/local/openssl/lib/libcrypto.so.1.1   /usr/lib64/libcrypto.so.1.1
    20. # 查看ssl版本和链接的ssl库
    21. $ openssl version
    22. OpenSSL 1.1.1w  11 Sep 2023
    复制代码
  • 方案二:
    1. # 查看ssl版本和链接的ssl库
    2. $ openssl version
    3. OpenSSL 1.1.1k 25 Mar 2021 (Library: OpenSSL 1.1.1w 11 Sep 2023)
    4. # 将安装目录的lib库提高位置
    5. $ vim /etc/ld.so.conf
    6. ld.so.conf.d/*.conf
    7. /opt/openssl/openssl/lib
    8. /usr/local/lib64
    9. # 查看ssl版本和链接的ssl库
    10. $ openssl version
    11. 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 文件即可
    1. $ vim /etc/pam.d/sshd
    2. #%PAM-1.0
    3. auth       required     pam_sepermit.so
    4. auth       substack     password-auth
    5. auth       include      postlogin
    6. # Used with polkit to reauthorize users in remote sessions
    7. -auth      optional     pam_reauthorize.so prepare
    8. account    required     pam_nologin.so
    9. account    include      password-auth
    10. password   include      password-auth
    11. # pam_selinux.so close should be the first session rule
    12. session    required     pam_selinux.so close
    13. session    required     pam_loginuid.so
    14. # pam_selinux.so open should only be followed by sessions to be executed in the user context
    15. session    required     pam_selinux.so open env_params
    16. session    required     pam_namespace.so
    17. session    optional     pam_keyinit.so force revoke
    18. session    include      password-auth
    19. session    include      postlogin
    20. # Used with polkit to reauthorize users in remote sessions
    21. -session   optional     pam_reauthorize.so prepare
    22. $ systemctcl restart sshd
    复制代码
5.4 升级 openssl 后导致 yum 命令无法正常使用



  • 升级 openssl 至 1.1.1w 版本后使用 yum 命令出现如下情况:

    这是由于 yum 使用的是旧版本的 OpenSSL 库,而新版本的 OpenSSL 已经安装。
  • 办理办法1: 可能是由于删除了 openssl-libs 包导致的,重新安装 openssl-libs 包
    1. $ rpm -qa | grep openssl                        # 查看系统原有openssh包
    2. openssl-devel-1.0.2k-26.el7_9.x86_64
    3. openssl-1.0.2k-19.el7.x86_64
    4. xmlsec1-openssl-1.2.20-7.el7_4.x86_64
    5. openssl-libs-1.0.2k-19.el7.x86_64
    6. $ rpm -e --nodeps <依赖包>                        # 卸载查询到的相关依赖包
    复制代码
    卸载相关依赖包时,不要卸载openssl-libs-1.0.2k-19.el7.x86_64,卸载该依赖包会导致/usr/lib64/libssl.so.10被删除,从而导致 yum 命令无法使用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表