参考链接:
openssh最新版本下载地址:Index of /pub/OpenBSD/OpenSSH/portable/
注意:openssh9.8需要依赖openssl,版本至少为1.1.1。
一、简介
Openssh存在远程代码执行漏洞(CVE-2024-6387),攻击者可以成功利用该漏洞获得远程root shell最高权限从而执行任意代码及命令,主要受影响版本为8.5p1<=Openssh<9.8p1,安全版本为openssh>=9.8p1。
官方给出的修改建议是升级openssh版本至9.8p1。
二、操作流程
1. 备份旧ssh相关的配置文件
mv /etc/ssh/ ~/ssh-bak
mv /etc/pam.d/sshd /etc/pam.d/sshd.bak |
2. 安装依赖
yum -y install gcc pam-devel zlib zlib-devel openssl-devel net-tools make |
3. 解压安装包
tar xf openssh-9.8p1.tar.gz -C ~/openssh
# 卸载openssh的rpm包
rpm -e openssh |
4. 开始编译
# --with-ssl-dir 是openssl库文件的所在目录 --with-zlib 是zlib库文件所在的目录
./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
# 构建程序以及所需的指令和依赖关系
make
# 安装编译好的openssh9.8p1
make install
# 备注:以上三步必须没有出现报错(error),才可以继续下一步,全部三步无报错才能视为安装成功 |
5. 创建软链接
ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh
ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd |
6. 还原配置文件
mv ~/ssh-bak /etc/ssh
mv ~/sshd.bak /etc/pam.d/sshd |
7. 设置开启启动
# copy 启动脚本
cp /root/openssh-9.8p1/contrib/redhat/sshd.init /etc/init.d/
# 添加开机自启动
chmod +x /etc/rc.d/rc.local
echo "/etc/init.d/sshd.init start" >> /etc/rc.d/rc.local |