因 Centos 系统存在 OpenSSH XMSS Key 解析整数溢出漏洞,需将 OpenSSH 组件升级到最新8.4P版本,操作如下,本次操作平台为腾讯云轻量服务器,系统版本为Centos 8,在操作升级前,请制作镜像或快照,以免无法连接SSH。

安装依赖软件包

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

下载OpenSSH8.4安装包

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz

执行删除低版本OpenSSH的的rpm包

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

解压OpenSSH8.4安装包

tar -zxvf openssh-8.4p1.tar.gzcd  openssh-8.4p1

配置OpenSSH8.4

./configure   --prefix=/usr   --sysconfdir=/etc/ssh    --with-md5-passwords   --with-pam --with-zlib   --with-tcp-wrappers    --with-ssl-dir=/usr/local/ssl   --without-hardening

编译安装并赋予权限

make
make install
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key

复制配置文件

cp -a contrib/redhat/sshd.init  /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod u+x /etc/init.d/sshd

设置root用户远程登录

特别注意:

以下操作很重要,如果没有操作成功,可能无法连接SSH

vim /etc/ssh/sshd_config

修改 #PermitRootLogin prohibit-password 项,去掉注释#并把 prohibit-password 改为 yes ,修改后即为 PermitRootLogin yes 

OpenSSH 组件升级到最新8.4版本1

去掉注释 #PasswordAuthentication yes 变为 PasswordAuthentication yes

OpenSSH 组件升级到最新8.4版本2

编辑完成后使用 wq 保存并退出

添加自启服务SSH到开机启动项

chkconfig --add sshd
chkconfig sshd on

重启SSH服务

systemctl restart sshd

查看安装结果,如下图信息说明安装成功

ssh -V

OpenSSH 组件升级到最新8.4版本3

友情提示:在操作时,请注意制作镜像或者快照,以免不必要的损失。