找回密码
 立即注册
首页 业界区 安全 OpenSSH漏洞修复

OpenSSH漏洞修复

卓卞恻 4 小时前
前期准备

先使用远程连接工具,连接两次服务器,其中一个连接保持一直连接不断开,另一台进行漏洞修复升级(防止修复失败,导致远程连接无法连接时,可以通过另一个远程连接进行恢复)
准备离线升级安装包
OpenSSH下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
OpenSSL下载地址:https://openssl-library.org/source/
下载zlib地址:https://zlib.net/zlib-1.3.1.tar.gz
修复注意事项:确保系统中有OpenSSH版本依赖的对应OpenSSL版本,可能会导致以下错误:
checking for OpenSSL... configure: error: OpenSSL version is too old
查看openssh版本:sshd -V
查看openssl版本:openssl version
查看zlib版本:zlib-config --version
参考博客:https://blog.csdn.net/Tony1154/article/details/148926377
 
1、安装Openssl
  1.  #解压文件
  2.  tar -xf openssl-3.4.1.tar.gz -C /opt/
  3.  #进入目录
  4.  cd /opt/openssl-3.4.1
  5.  #编译配置openssl安装目录
  6.  ./config --prefix=/usr/local/openssl
  7.  #安装
  8.  make && make install
  9.  #备份更新openssl
  10.  mv /usr/bin/openssl /usr/bin/openssl_bak
  11.  #复制openssl文件到/usr/bin/下
  12.  cp /usr/local/openssl/bin/openssl /usr/bin/
  13.  #添加动态链接库数据
  14.  echo '/usr/local/openssl/lib64/' >> /etc/ld.so.conf
  15.  #更新动态链接库
  16.  ldconfig
  17.  #进行验证
  18.  openssl version
  19.  #报错处理,无报错无需以下步骤:  
  20.  openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
  21.  #创建软连接
  22.  ln -sf /usr/local/openssl/lib/libssl.so.3 /usr/lib/libssl.so.3
  23.  # 更新链接库--(不懂软连接是什么,导致没执行这个命令一直失败= =)
  24.  ldconfig
  25.  # 再次验证
  26.  openssl version
  27.  #验证结果
  28.  OpenSSL 3.4.1 11 Feb 2025 (Library: OpenSSL 3.4.1 11 Feb 2025)
复制代码
1.png

2、安装OpenSSH

安装zlib

2.png
  1.  # 查看zlib版本
  2.  pkg-config --modversion zlib
  3.  # 解压安装
  4.  tar -zxvf zlib-1.3.1.tar.gz -C /opt/
  5.  cd /opt/zlib-1.3.1
  6.  # 配合 库文件的生成路径 --libdir=/lib64/ --prefix=/usr/local/zlib 预安装目录,
  7.  ./configure --prefix=/usr/local/zlib --libdir=/lib64/
  8.  make && make install
复制代码
3.png

安装OpenSSH
  1.  # 备份当前配置文件
  2.  cp -rf /etc/ssh /etc/ssh.bak
  3.  cp -rf /usr/bin/ssh /usr/bin/ssh_bak
  4.  cp -rf /usr/bin/ssh-keygen /usr/bin/ssh-keygen_bak
  5.  cp -rf /usr/sbin/sshd /usr/sbin/sshd_bak
  6.  cp -rf /etc/pam.d/sshd /etc/pam.d/sshd_bak
  7.  # 若没有就无需备份
  8.  cp -rf /etc/pam.d/sshd.pam /etc/pam.d/sshd.pam_bak
  9.  ​
  10.  # 下载并解压 OpenSSH 最新版本
  11.  wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.0p1.tar.gz
  12.  tar zxvf openssh-10.0p1.tar.gz
  13.  cd openssh-10.0p1
  14.  ​
  15.  # 联网模式下安装依赖(离线模式无需操作)
  16.  yum install -y gcc openssl-devel zlib-devel wget
  17.  ​
  18.  # 配置编译环境
  19.  ./configure \
  20.    --prefix=/opt/openssh-10.0p1 \
  21.    --sysconfdir=/etc/ssh \
  22.    --with-ssl-dir=/usr/local/openssl \
  23.    --with-privsep-path=/var/lib/sshd \
  24.    --with-zlib=/usr/local/zlib \
  25.    --with-zlib-include=/usr/local/zlib/include
  26.                            
  27.  # 编译并安装 OpenSSH
  28.  make && make install
  29.  ​
  30.  # (推荐软连接)
  31.  ln -sf /opt/openssh-10.0p1/sbin/sshd /usr/sbin/sshd //建立软连接
  32.  ln -sf /opt/openssh-10.0p1/bin/ssh /usr/bin/ssh //建立软连接
  33.  ln -sf /opt/openssh-10.0p1/bin/ssh-keygen /usr/bin/ssh-keygen //建立软连接
  34.  或复制文件
  35.  cp -rf /opt/openssh-10.0p1/sbin/sshd /usr/sbin/sshd
  36.  cp -rf /opt/openssh-10.0p1/bin/ssh /usr/bin/ssh
  37.  cp -rf /opt/openssh-10.0p1/bin/ssh-keygen /usr/bin/ssh-keygen
  38.  ​
  39.  参考博客:https://blog.csdn.net/cwr888/article/details/147773704
  40.  ​
  41.  # 启动并验证 SSH 服务
  42.  systemctl daemon-reload
  43.  ​
  44.  service stop sshd
  45.  service start sshd
  46.  service restart sshd
  47.  service status sshd
  48.  ​
  49.  systemctl enable sshd
  50.  systemctl start sshd
  51.  systemctl status sshd
  52.  # 启动失败,获取详细信息
  53.  journalctl -u sshd -xe
复制代码
--prefix 安装目录 --sysconfdir 配置文件目录 --with-ssl-dir 指定 OpenSSL 的安装目录 --with-privsep-path 非特权用户的chroot目录 --with-privsep-user=sshd 指定非特权用户为sshd --with-zlib 指定zlib库的安装目录 --with-ssl-engine 启用OpenSSL的ENGINE支持
--with-pam 登录身份认证,一般不需要启用,若要启用需要
如果启用PAM,需要有一个控制文件,按照提示的路径找到redhat/sshd.pam,并复制到/etc/pam.d/sshd,在/etc/ssh/sshd_config中打开UsePAM yes。发现连接服务器被拒绝,关掉就可以登录。
4.png

5.png

启动成功后

6.png

查看SSH版本:ssh -V
7.png

使用远程工具重新打开新的连接服务器,查看是否连接成功,连接成功则SSH升级成功!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

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