本文主要是介绍Linux下升级OpenSSH8.4p1修复CVE-2020-15778漏洞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
后记
升级到8.4p1后并没能修复该bug,临时解法:禁用scp
命令
参考文章:禁用scp
实践环境
系统:CentOS 7.9,OpenSSH版本:7.4p1
#查看版本
cat /etc/redhat-release
ssh -V
一、安装Telnet登录
为防止升级OpenSSH8.4p1出现问题,造成无法远程登录,需要准备一个备用方案,这里选择telnet
登录,如果有其他备用方案,也可不安装跳过该步骤;
- 安装
yum install xinetd telnet-server -y
- 配置
vim /etc/xinetd.d/telnet
内容如下service telnet {disable = yesflags = REUSEsocket_type = stream wait = nouser = rootserver = /usr/sbin/in.telnetdlog_on_failure += USERID }
- 防火墙添加23端口
firewall-cmd --add-port=23/tcp --permanent firewall-cmd --reload
- 启动服务
systemctl enable xinetd systemctl enable telnet.socket systemctl start telnet.socket systemctl start xinetd
- 本地登录测试
输入用户密码即可,这里不能使用root账号;使用root需要进行额外配置,非root账号最好有sodu权限;telnet 远程电脑ip
二、备份
备份pam.d的sshd,后面要用
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
三、卸载原有OpenSSH
systemctl stop sshd
yum remove openssh
以上是使用
yum install openssh openssh-clients openssh-server
安装或默认安装的卸载方式,如果使用源码安装,则在源码包下执行:make uninstall
验证:ssh -V
移除残留
rm -rf /etc/ssh
四、安装必要依赖
yum -y install gcc pam pam-devel zlib zlib-devel openssl-devel
五、源码安装
OpenSSH8.4官方源码包下载地址:http://www.openssh.com/portable.html#http
OpenSSH8.4官方安装文档:
http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html
- 下载源码包
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
tar -xzf openssh-8.4p1.tar.gz
cd openssh-8.4p1
- 安装
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pammakemake install
验证安装是否成功
ssh -V
sshd -V
- 配置
cp contrib/redhat/sshd.pam /etc/pam.d/sshd -f
install -v -m755 contrib/ssh-copy-id /usr/bin
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
cp -p contrib/redhat/sshd.init /etc/init.d/sshd -f
#使用原来覆盖
rm /etc/pam.d/sshd -f
cp /etc/pam.d/sshd.bak /etc/pam.d/sshd -f
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'UsePAM yes' >> /etc/ssh/sshd_config
echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config
- 开机启动
chmod +x /etc/init.d/sshd
systemctl enable sshd
- 启动服务
systemctl restart sshd
成功启动服务后,在本地验证登录,大功告成!
六、错误查找
通过systemctl status sshd
可以看到出错信息;
附上错误集锦:升级OpenSSH8.4常见错误
这篇关于Linux下升级OpenSSH8.4p1修复CVE-2020-15778漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!