侧边栏壁纸
  • 累计撰写 31 篇文章
  • 累计创建 13 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

CentOS7-OpenSSH升级到9.5

javalx
2024-03-19 / 0 评论 / 0 点赞 / 25 阅读 / 6746 字

修复生产服务器的openssh漏洞,版本升级到9.4以后,建议先整体通读一遍再按文档操作,完整记录虚拟机操作步骤

安装包下载

OpenSSH的安装包地址

https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/?spm=a2c6h.25603864.0.0.6ff47250Fj1pCr

image-20240314195105504

wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz

image-20240314202232216

相关依赖安装

gcc pam-devel zlib-devel openssl-devel

 yum -y install gcc pam-devel zlib-devel openssl-devel

image-20240314201932567

备份历史文件

mv /etc/ssh/ /etc/ssh.back
mv /etc/pam.d /etc/pam.d.back
mv /usr/sbin/sshd /usr/sbin/sshd.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak

image-20240314203747322

删除旧的版本

rpm -e --nodeps `rpm -qa | grep openssh`

image-20240314204029819

解压安装包

tar -zxvf openssh-9.5p1.tar.gz 

image-20240314202926341

编译安装

编译

cd /root/openssh-9.5p1
./configure --prefix=/usr/local/openssh9p5 --sysconfdir=/etc/ssh --with-pam --with-md5-passwords --with-zlib

image-20240314211646420

编译失败,错误提示:要求 OpenSSL版本 >= 1.1.1

手动安装OpenSSL1.1.1

下载OpenSSL的历史版本OpenSSL1.1.1,https://www.openssl.org/source/old/1.1.1/index.html

image-20240314212647245

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1w.tar.gz --no-check-certificate

image-20240314213013751

解压编译安装

按照下面命令来,安装日志太多刷掉了之前的命令没有截图,默认没有编译出.so的文件,而openssh编译的时候需要,所以需要手动添加 -d shared的选项

tar -zxvf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl -d shared
make && make install

替换旧版本

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

image-20240314215419605

查看版本

openssl version

image-20240314215534203

查看版本报错,提示找不到共享库,需要重新加载openssl库文件,否则执行openssl命令时会提示这个,后面编译openssh时会失败

重新加载openssl库文件

echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v

image-20240314220149434

image-20240314220236618

继续编译(指定ssl目录)

cd /root/openssh-9.5p1
./configure --prefix=/usr/local/openssh9p5 --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --with-zlib

image-20240314220730949

安装

make && make install

复制还原

cp /usr/local/openssh9p5/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh9p5/bin/ssh /usr/bin/ssh
cp /usr/local/openssh9p5/bin/ssh-keygen /usr/bin/ssh-keygen

image-20240314222107029

验证版本

ssh -V
sshd -V

image-20240314222425802

修改配置

vim  /etc/ssh/sshd_config

# PermitRootLogin yes:允许root用户通过SSH登录到系统
# PubkeyAuthentication yes:启用公钥身份验证
# PasswordAuthentication yes:启用密码身份验证

image-20240314223026554

开机自启

cp /root/openssh9p5/contrib/redhat/sshd.init /usr/sbin/sshd
systemctl enable sshd

重启验证

#重启ssh服务
systemctl restart sshd
 
#重启服务器
init 6
  • 重启ssh服务并重连服务器

    image-20240314223700687

  • 重启服务器并重连服务器(此步骤可省略)

    image-20240314224000259

0

评论区