当前位置:   article > 正文

centos7 升级openssh_centos7 openssh升级

centos7 openssh升级


目录

前言

1.版本对比

2. 升级准备

3. 开始升级

3.1 升级openssl

3.2 解决报错

3.3 安装openssh


前言

       因为生产环境主机一直被通报存在openssh漏洞,报告显示小于某个版本存在很多的漏洞,没办法只能更新对应的版本,记录一下升级过程和一些坑点。已知的任何文档都有不可能完全解决我们即将面对的未知问题,所以建议多动手,多分析。建议在生产服务器操作时先使用同版本的系统到虚拟机上测试。整个过程会升级openssl和openssh,如果有人看到这篇文章并根据指导升级过程中出现问题,建议分开搜索相关升级流程。建议关闭防火墙和seLinux

1.版本对比

升级前旧版

 升级后新版

2. 升级准备

安装依赖包

yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel

安装pam和zlib等(原文介绍可以不用安装,我这里是安装了,其实不用安装也没什么,压根用不到)

yum install  -y pam* zlib*

 前往官网下载需要的安装包(openssl-1.1.1k.tar.gz)

前往官网下载需要的安装包(openssh-8.6p1.tar.gz)

3. 开始升级

3.1 升级openssl

将安装包上传到CentOS上,解压安装包,进入解压后的目录

  1. ./config --prefix=/usr/local/openssl # 添加openssl配置
  2. make
  3. make install
  4. ./conifg -t # 更新配置
  5. make depend # 安装
  6. cd /usr/local
  7. ln -s openssl ssl # 添加软连接
  8. echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
  9. # 在/etc/ld.so.conf文件的最后面添加如下内容: /usr/local/openssl/lib
  10. ldconfig
  11. # 添加环境变量
  12. vim /etc/profile
  13. export OPENSSL=/usr/local/openssl/bin(需要清楚openssl/bin在哪里)
  14. export PATH=$OPENSSL:$PATH:$HOME/bin
  15. cd /usr/local
  16. ldd /usr/local/openssl/bin/openssl
  17. # 会出现如下信息
  18. # linux-vdso.so.1 => (0x00007fff3bc73000)
  19. # libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
  20. # libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
  21. # /lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
  22. which openssl # 查看路径
  23. openssl version # 查看版本

需要建立软链接 

[root@localhost tools]# ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
[root@localhost tools]# ln -s /usr/local/ssl/include/openssl /usr/include/openssl
[root@localhost tools]# ll /usr/bin/openssl
lrwxrwxrwx. 1 root root 26 Jul 23 20:39 /usr/bin/openssl -> /usr/local/ssl/bin/openssl

升级完成查看版本 

3.2 解决报错

20230914

在升级openssl3.1版本时出现报错,需要安装perl-CPAN

1.安装perl-CPAN

yum install -y perl-CPAN

进入CPAN的shell模式,首次进入需要配置shell,按照提示操作即可

perl -MCPAN -e shell

在shell中安装缺少的模块

cpan[1]> install IPC/Cmd.pm # 此操作是通过访问perl官网自动下载安装需要联网

2.通过本地yum源安装

离线安装环境使用此命令

yum -y install perl-IPC-Cmd

图片中的报错是软链接的问题,原因暂时没有找到,在本文之前安装1.1.1k版本时的步骤与安装3.1.1版本的步骤不同,解决此问题的步骤是将openssl安装包里的三个文件【libcrypto.so.3、libcrypto.a、libssl.so.3】 拷贝至/usr/lib目录并建立软连接。

  1. [root@h0t-test-linux lib]# cp libcrypto.so.3 /usr/lib/
  2. [root@h0t-test-linux lib]# cp libcrypto.a /usr/lib/
  3. [root@h0t-test-linux lib]# cp libssl.so.3 /usr/lib/
  4. [root@h0t-test-linux lib]# cd /usr/lib
  5. [root@h0t-test-linux lib]# ln -s libcrypto.so.3 libcrypto.so
  6. [root@h0t-test-linux lib]# ln -s libssl.so.3 libssl.so
  7. [root@h0t-test-linux lib]# ldconfig
  8. [root@h0t-test-linux lib]# openssl version
  9. OpenSSL 3.1.1 30 May 2023 (Library: OpenSSL 3.1.1 30 May 2023)

3.3 安装openssh

将安装包上传到CentOS上,解压安装包,进入解压后的目录

执行升级前需要备份ssh配置文件

mv /etc/ssh /etc/sshbak

mv /usr/bin/ssh /usr/bin/sshbak

mv /usr/sbin/sshd /usr/sbin/sshdbak

进入openssh-8.6p1 目录下

  1. rm -rf /etc/ssh/* # 删除原来的ssh配置文件
  2. ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include \
  3. --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam && make && make install
  4. echo $? # 检查执行结果

安装完成后修改配置文件

vim /etc/ssh/sshd_config

#PermitRootLogin prohibit-password #prohibit-password改为yes

PermitRootLogin yes # 修改后内容

#PasswordAuthentication yes 变为

PasswordAuthentication yes

#UseDNS no 变为

UseDNS no

  1. # 从解压的安装目录经下拷贝文件到目标位置(别问为什么,问就是不知道)
  2. cp -a contrib/redhat/sshd.init /etc/init.d/sshd
  3. cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
  4. chmod +x /etc/init.d/sshd

添加开机启动项

chkconfig --add sshd
systemctl enable sshd

  把原先的systemd管理的sshd文件删除或者移走或者删除

mv  /usr/lib/systemd/system/sshd.service  /data/

/etc/init.d/sshd restart # 重启服务

到这里就安装完了,但是有一个很奇怪的现象,那就是没有sshd.service这个服务,控制ssh的服务是sshd.socket。等有时间在研究一下吧。

 本文参考:

openssl离线安装_方方园园的博客-CSDN博客

https://www.cnblogs.com/nmap/p/10779658.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/285744
推荐阅读
相关标签
  

闽ICP备14008679号