• centos7.9离线升级openssl和openssh9.2


    1、查看本机ssh版本

    1. ssh -V
    2. OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013

    可以看到openssh的版本是6.6.1,openssl版本是1.0.1

    2、准备工作

    gcc:https://pan.baidu.com/s/1RcnWouHwDaq-rkto6SYaBA  提取码:dwvf

    zlib-1.2.13:http://www.zlib.net/fossils/zlib-1.2.13.tar.gz

    openssl-1.1.1t.tar.gz:https://www.openssl.org/source/openssl-1.1.1t.tar.gz   

    openssh-9.2p1.tar.gz:https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz

    依次安装gcc zlib openssl openssh

    3、安装gcc

    将网盘下载的gcc安装包全部上传到服务器上,切换到gcc目录下,执行命令

    1. #执行命令,忽略其他依赖检查
    2. rpm -Uvh *.rpm --nodeps --force
    3. warning: cpp-4.8.5-28.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    4. Preparing... ################################# [100%]
    5. Updating / installing...
    6. 1:mpfr-3.1.1-4.el7 ################################# [ 10%]
    7. 2:libmpc-1.0.1-3.el7 ################################# [ 20%]
    8. 3:cpp-4.8.5-28.el7 ################################# [ 30%]
    9. 4:kernel-headers-3.10.0-862.el7 ################################# [ 40%]
    10. 5:glibc-headers-2.17-222.el7 ################################# [ 50%]
    11. 6:glibc-devel-2.17-222.el7 ################################# [ 60%]
    12. 7:gcc-4.8.5-28.el7 ################################# [ 70%]
    13. 8:pcre-devel-8.32-17.el7 ################################# [ 80%]
    14. Cleaning up / removing...
    15. 9:glibc-devel-2.17-55.el6 ################################# [ 90%]
    16. 10:glibc-headers-2.17-55.el6 ################################# [100%]

    4、安装zlib

    解压zlib-1.2.13.tar.gz,编译安装

    1. [root@localhost ~]# tar zxvf zlib-1.2.13.tar.gz
    2. [root@localhost ~]# cd zlib-1.2.13
    3. [root@localhost zlib-1.2.13]# ./configure --prefix=/usr/local/zlib
    4. [root@localhost zlib-1.2.13]# make && make install

    5、安装openssl

    1. [root@localhost ~]# tar zxvf openssl-1.1.1t.tar.gz
    2. [root@localhost ~]# cd openssl-1.1.1t
    3. [root@localhost openssl-1.1.1t]# ./config --prefix=/usr/local/ssl -d shared
    4. [root@localhost openssl-1.1.1t]# make && make install

    配置使用最新版本

    1. ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
    2. 但是这里如果存在了,会报错
    3. ln: failed to create symbolic link ‘/usr/bin/openssl’: File exists
    4. 所以我们使用覆盖命令
    5. ln -sf /usr/local/ssl/bin/openssl /usr/bin/openssl
    6. 把新的库文件地址写入记录so库的配置文件中去
    7. echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
    8. 使配置生效并打印出来
    9. ldconfig -v
    10. 查看版本
    11. openssl version
    12. OpenSSL 1.1.1t 7 Feb 2023 ##版本已更新为1.1.1

     6、安装openssh

    1. #先卸载原openssh,卸载后切记不要断开ssh连接
    2. [root@localhost ~]# yum remove openssh
    3. #安装
    4. [root@localhost ~]# tar zxvf openssh-9.2p1.tar.gz
    5. [root@localhost ~]# cd openssh-9.2p1
    6. [root@localhost openssh-9.2p1]# ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
    7. [root@localhost openssh-9.2p1]# make && make install

     此过程可能会出现一下错误

    /usr/bin/ld: /usr/local/lib/libz.a(crc32.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

    解决方法如下:

    1. cd  zlib-1.2.13  //进入zlib目录
    2. CFLAGS="-O3 -fPIC" ./configure   //使用64位元的方法进行编译
    3. make
    4. make install
    5. make clean

    重新编译安装zilib之后再执行openssh的安装命令

    7、配置openssh

    1. #编辑sshd_config文件,在末尾追加三行数据
    2. [root@localhost openssh-9.2p1]# vi /usr/local/openssh/etc/sshd_config
    3. PermitRootLogin yes
    4. PubkeyAuthentication yes
    5. PasswordAuthentication yes
    6. #按以下命令一步一步执行
    7. [root@localhost openssh-9.2p1]# cd contrib/redhat/
    8. [root@localhost redhat]# cp sshd.init /etc/init.d/sshd
    9. [root@localhost redhat]# chkconfig --add sshd
    10. [root@localhost redhat]# cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
    11. [root@localhost redhat]# cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
    12. [root@localhost redhat]# cp /usr/local/openssh/bin/ssh /usr/bin/ssh
    13. [root@localhost redhat]# cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
    14. [root@localhost redhat]# cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
    15. #启动服务
    16. [root@localhost redhat]# systemctl start sshd.service
    17. #设置开机启动
    18. [root@localhost redhat]# chkconfig --add sshd
    19. [root@localhost redhat]# chkconfig sshd on
    20. #查看版本
    21. [root@localhost redhat]# ssh -V
    22. OpenSSH_9.2p1, OpenSSL 1.1.1t 7 Feb 2023

    升级完毕

  • 相关阅读:
    问道管理:华为产业链股再度拉升,捷荣技术6连板,华力创通3日大涨近70%
    数据结构与算法训练:第二十九弹
    OpenCV_Mat类对象的基本操作、常用操作及相关成员函数介绍
    Word2010入门
    ubuntu18.04安装并运行ORB-SLAM2
    LSH-局部敏感哈希
    红黑树B树B+树区别及其适用场景
    关于UIScreen.main.bounds.height的值发生了变化的原因和解决方案
    猿创征文|阿里云MaxCompute存取性能测试报告
    把这份关于软件测试一系列笔记研究完,进大厂是个“加分项”...
  • 原文地址:https://blog.csdn.net/qq_37234166/article/details/136453276