centos7.6系统openssh升级至8.6以及回退
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
一、升级背景
通过绿盟漏洞扫描工具检测OpenSSH安全漏洞CVE-2021-28041,现公司要求修复。
解决方法:openssh升级到openssh-8.6p1。
二、环境信息
操作系统:Centos7.6.1810
openssh:OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
openssl:OpenSSL 1.0.2k-fips 26 Jan 2017
三、注意事项
1、检查防火墙或selinux是否关闭。
2、更新前一定要多开1个或1个以上ssh终端,一旦更新失败当前shell终端是无法操作的,也就无法进行版本回退。
3、升级前一定要对ssh进行备份,避免更新失败时能回滚。
4、升级前一定要提前在测试环境验证,运行一段时间,确认没有问题才可在生产环境进行更新操作。
5、对于生产环境主机数量比较多时,建议先在1台或几台服务器上更新,运行一段时间,确认没有问题再执行批量更新操作。
总结:对于以上需要注意的内容,建议大家务必重视,小心谨慎总没错的。
systemctl enable xinetd.service && systemctl enable telnet.socket && systemctl start telnet.socket && systemctl start xinetd
useradd test #创建普通用户用于telnet登录,登录后切换root,不能直接用root登录。
passwd test
远程测试
telnet IP
输入test用户密码 登陆成功 su – root 切换root
(若条件允许可以重启服务器再测试telnet是否正常 保证万无一失)
5、验证telnet可以正常登录
6.备份文件,需要备份的是openssh从来都没有升级过的文件,对于openfile非常重要:
不备份安装完成后会密码无效提示认证失败!
mkdir /openssh.bak
cp /etc/pam.d/sshd /openssh.bak
四、升级步骤
1、升级准备
cd /opt && wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
2、安装依赖软件包
yum install gcc -y
yum install -y zlib-devel openssl-devel
yum install pam-devel libselinux-devel zlib-devel openssl-devel -y
3、备份ssh(非常重要,请严格执行)
mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak
4、编译安装
cd /opt && tar -zxvf openssh-8.6p1.tar.gz
chown root.root /opt/openssh-8.6p1 -R
cd /opt/openssh-8.6p1
./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
5、授权
chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
6、复制配置文件并设置允许root用户远程登录
cd /opt/openssh-8.6p1
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
mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak
7、修改ssh配置
vim /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
UseDNS no
UsePAM yes
8、设置开机自启
chkconfig --add sshd
chkconfig sshd on
9、重启ssh服务
systemctl daemon-reload
systemctl restart sshd
10、验证
[root@lvs-keepalived-02 ~]# ssh -V
OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
五、故障处理
现象:centos7升级ssh7.4到8.6版本后,ssh连接不稳定,时断时续,systemctl status sshd查看服务状态为activating(start),查看/var/log/message里不断提示sshd.service holdoff time over,scheduling restart
原因:/usr/lib/systemd/system/sshd.service 与 systemd不兼容
处理办法:
[root@localhost ~]# cd /usr/lib/systemd/system
[root@localhost system]# mv sshd.service sshd.service.bak
[root@localhost system]# systemctl daemon-reload
#重启前执行
1、sshd -t 检查下配置有没有问题
2、/var/log/message里sshd有没有继续报错
以上正常后重启
systemctl restart sshd
六、版本回退
回滚前:
[root@localhost etc]# ssh -V
OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
回滚操作:
rm -rf /etc/ssh
mv /etc/ssh.bak /etc/ssh
mv /usr/bin/ssh.bak /usr/bin/ssh
mv /usr/sbin/sshd.bak /usr/sbin/sshd
systemctl restart sshd
[root@localhost etc]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)