OpenSSH_7.4p1升级到OpenSSH_8.0p1

一、背景

安全厂商扫描出部分漏洞,需要将现有的Centos7的OpenSSH_7.4p1升级到OpenSSH_8.1p1,不升级OpenSSL。

二、方案内容

1.安装telnet-server以及xinetd,防止ssh无法链接的时候,采用telnet应急用。

yum -y install telnet telnet-server xinetd
cat >> /etc/securetty <<EOF
pts/0
pts/1
pts/2
pts/3
EOF
# telnet服务 开机运行 和 启动
systemctl enable xinetd
systemctl enable telnet.socket
systemctl start telnet.socket
systemctl start xinetd

2.下载openssh-8.0p1.tar.gz
下载地址如下:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.1p1.tar.gz
3.首先将下载的openssh-8.0p1.tar.gz上传到ECS的/root目录。
4.执行查看当前版本ssh -V


5.卸载旧版,一定要停止服务,否则升级后ssh连不上,重启sshd服务都没用,只能退回旧版重来!!!

# 停止服务!!!
service sshd stop
# 卸载旧版openssh
rpm -e `rpm -qa | grep openssh` --nodeps
cp -r /etc/ssh /etc/ssh_bak
rm -rf /etc/ssh/*

6.解压文件到usr/local/src/

tar -xzf /root/openssh-8.1p1.tar.gz -C /usr/local/src/
chown -R root.root /usr/local/src/openssh-8.1p1

7.安装依赖

yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel 
yum install -y pam* zlib*

8.编译安装

cd /usr/local/src/openssh-8.1p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam
make && make install

9.配置

#复制文件并更改权限
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
#添加PermitRootLogin yes配置
echo "PermitRootLogin yes" >>  /etc/ssh/sshd_config 
#设置开机自启动ssh服务
chkconfig --add sshd
chkconfig sshd on

10.启动ssh服务

service sshd start

三、验证

1.执行如下命令查看升级后的ssh版本。

ssh -V

2.SSH升级成功后,重新尝试连接,验证成功后,断开TELNET连接,停止telnet服务,卸载telnet xinetd服务即可。

systemctl disable xinetd.service
systemctl stop xinetd.service
systemctl disable telnet.socket
systemctl stop telnet.socket
rpm -e `rpm -qa | grep telnet` --nodeps
rpm -e `rpm -qa | grep xinetd` --nodeps

四、回滚

如遇到升级失败,可以执行如下命令回滚openssh。

yum install -y openssh-server openssh-clients
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容