开发者

Centos7如何升级openssl和openssh最新版

开发者 https://www.devze.com 2025-06-10 10:08 出处:网络 作者: Aspire
目录1、事前准备2、查看Centos7、ssh以及openssl的版本信息3、安装依赖4、安装openssl-3.4.1版本(1)解压openssl-3.4.1压缩包(2)编译安装openssl-3.4.1(3)更新lib文件(4)更新bin文件5、编译安装openssh9.9p2(
目录
  • 1、事前准备
  • 2、查看Centos7、ssh以及openssl的版本信息
  • 3、安装依赖
  • 4、安装openssl-3.4.1版本
    • (1)解压openssl-3.4.1压缩包
    • (2)编译安装openssl-3.4.1
    • (3)更新lib文件
    • (4)更新bin文件
  • 5、编译安装openssh9.9p2
    • (1)解压缩openssh9.9p2压缩包
    • (2)编译安装openssh9.9p2
    • (3)复制并修改启动sshd.init脚本
    • (4)修改配置文件(sshd_config)
    • (5)启动openssh,并设置开机启动
    • (6)测试openssh连接
  • 6、检查系统、openssl和openssh的版本信息
    • 总结

      1、事前准备

      下载openssl3.4.1和openssh9.9p2压缩包上传到服务器

      https://cdn.openBSD.org/pub/OpenBSD/OpenSSH/portable//

      Centos7如何升级openssl和openssh最新版

      Release OpenSSL 3.4.1 · openssl/open编程ssl · github

      Centos7如何升级openssl和openssh最新版

      Centos7如何升级openssl和openssh最新版

      2、查看centos7、ssh以及openssl的版本信息

      # 查看CentOS系统版本信息
      cat /etc/RedHat-release
      # 查看openssl版本信息
      openssl www.devze.comversion
      # 查看openssh的版本信息
      ssh -V

      Centos7如何升级openssl和openssh最新版

      3、安装依赖

      yum -y install gcc pam-devel zlib-devel openssl-devel 编程net-tools
      yum install -y perl-IPC-Cmd perl-Data-Dumper

      4、安装openssl-3.4.1版本

      (1)解压openssl-3.4.1压缩包

      tar zxvf openssl-3.4.1.tar.gz -C /usr/local/
      cd /usr/local/openssl-3.4.1/
      mkdir /opt/openssl

      (2)编译安装openssl-3.4.1

      ./config --prefix=/opt/openssl
      make -j4 && make install   ###-j后面的数字为你的内核数

      (3)更新lib文件

      ldd /opt/openssl/bin/openssl
      echo "/opt/openssl/lib" >> /etc/ld.so.conf
      echo "/opt/openssl/lib64" >> /etc/ld.so.conf
      echo "/usr/local/openssl-3.4.1" >> /etc/ld.so.conf
      ldconfig -v
      ldd /opt/openssl/bin/openssl

      Centos7如何升级openssl和openssh最新版

      (4)更新bin文件

      # 查看旧版本的openssl命令路径
      which openssl
      # 重命名为openssl.old
      mv /usr/bin/openssl /usr/bin/openssl.old   #重命名openssl文件
      # 使用软连接的方式更新openssl命令
      ln -s /opt/openssl编程/bin/openssl /usr//bin/openssl
      # openssl命令查看版本呢
      openssl version

      Centos7如何升级openssl和openssh最新版

      5、编译安装openssh9.9p2

      (1)解压缩openssh9.9p2压缩包

      # 卸载openssh的rpm包
      for i in $(rpm -qa | grep openssh);do rpm -e $i --nodeps;done
      # 解压缩openssh9.7p1包到目标目录
      cd ~
      tar zvxf openssh-9.9p2.tar.gz -C /usr/local/
      # 进入openssh9.7p1的源码目录
      cd /usr/local/openssh-9.9p2/
      # 安装前查看一下安装文件INSTALL(建议看一下)
      more INSTALL

      (2)编译安装openssh9.9p2

      # 配置编译和安装过程,"--prefix=" 配置安装目录,"--sysconfdir=" 配置文件路径,"--with-ssl-dir=" openssl的安装路径
      ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/opt/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening
      
      chmod 600 /etc/ssh/ssh_host_*_key
      chown root:root /etc/ssh/ssh_host_*_key
      
      make -j4 && make install

      (3)复制并修改启动sshd.init脚本

      # 从源码目录下复制sshd.init到/etc/init.d/
      cp /usr/local/openssh-9.9p2/contrib/redhat/sshd.init /etc/init.d/
      
      ## 查看并修改SSHD的新路径,将新的openssh安装路径更新
      cat /etc/init.d/sshd.init | grep SSHD
      sed -i "s/SSHD=\/usr\/sbin\/sshd/SSHD=\/usr\/local\/openssh\/sbin\/sshd/g" /etc/init.d/sshd.init
      cat /etc/init.d/sshd.init | grep SSHD
      
      ## android查看并修改ssh-keygen的新路径,将新的ssh-keygen安装路径更新
      cat -n /etc/init.d/sshd.init | grep ssh-keygen
      sed -i "s#/usr/bin/ssh-keygen -A#/usr/local/openssh/bin/ssh-keygen -A#g" /etc/init.d/sshd.init
      cat -n /etc/init.d/sshd.init | grep ssh-keygen

      Centos7如何升级openssl和openssh最新版

      Centos7如何升级openssl和openssh最新版

      (4)修改配置文件(sshd_config)

      # 开启允许X11转发
      echo 'X11Forwarding yes' >> /etc/ssh/sshd_config 
      # 开启允许密码验证
      echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config 

      (5)启动openssh,并设置开机启动

      # 复制ssh的相关命令
      cp -arp /usr/local/openssh/bin/* /usr/bin/
      # 启动sshd服务
      /etc/init.d/sshd.init start
      # 查看版本
      ssh -V
      # 添加开机启动
      chmod +x /etc/rc.d/rc.local
      echo "/etc/init.d/sshd.init start" >> /etc/rc.d/rc.local  
      systemctl enable --now rc-local

      (6)测试openssh连接

      使用ssh协议连接centos7,检查openssh9.9p2服务

      重启系统后ssh协议登录centos7,检查openssh9.9p2自动启动

      6、检查系统、openssl和openssh的版本信息

      Centos7如何升级openssl和openssh最新版

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号