升级openssl-1.1.1k、升级openssh-8.6p1全流程(适用于centos6/7、redhat6/7)| telnet安装卸载、yum本地源、yum第三方源配置

最近公司经过安全漏洞扫描后出现大量因ssh版本过低而导致的高危安全漏洞,故需要进行一次大规模ssh升级,以下为openssl-1.1.1k、openssh-8.6p1升级步骤,通过多次修改验证现已基本实现稳定升级。

注:1.该流程适用于centos6.x、centos7.x、redhat6.x、redhat7.x,但不适用于centos5.x、redhat5.x(版本过低不适配ssh最新版);

2.openssl-1.1.1k、openssh-8.6p1压缩包可直接wget下载(当然也可根据自己需要安装不同版本,直接替换版本号即可);

3.centos6.x、redhat6.x升级完openssh后重启sshd时只会执行stop,不会执行start,因此会导致所有ssh远程连接断开(包括目前已连接的、新连接的),解决方案为暂时开启telnet(升级完后需要关闭卸载,telnet有安全风险)实现同步远程连接,并从telnet端重启sshd服务,完成ssh版本升级;

>>>telnet安装卸载请点击这里《telnet安装与卸载详细步骤【linux】| 适用于centos6/7》<<<

4.centos7.x、redhat7.x不需要开启telnet可以直接升级ssh,升级完后重启sshd服务不会断开ssh远程(有个现象:如果7.x开启了telnet需要卸载关闭并重启xinetd服务,现有的telnet连接会断开,但同样的断开情况6.x不会出现...);

5.如果你需要升级的主机没有连入Internet而导致yum时无法找到镜像包、wget下载失败等情况,有如下两种解决方案:1)只联了内网就配置DNS,2)使用yum本地源,3)使用yum第三方源如163源阿里云源等;

>>>配置DNS请点击这里<<<

>>>配置yum本地源请点击这里<<<

>>>配置yum第三方源请点击这里<<<

6.升级openssh前需要先升openssl,因为编译安装ssh时需要用到新版ssl;

一、查看ssh版本、系统版本、防火墙情况

centos6:ssh -V && cat /etc/redhat-release && service iptables status

centos7:ssh -V && cat /etc/redhat-release && systemctl status firewalld

二、yum测试并下载工具

yum -y install lrzsz

【若yum连不上报出找不到镜像包则需要配置本地源,详见yum本地源配置,或配置dns联网】

【CentOS6升级需要开启telnet,CentOS7则无需开启直接升级,详见telnet配置】

三、进入/opt、wget下载ssl、ssh版本压缩包

cd /opt && ll && wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz && wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz

【把压缩包下载到opt文件夹下是为了方便查找以及后期整理】

四、安装升级依赖、备份openssl

yum -y install wget gcc zlib-devel openssl-devel pam-devel libselinux-devel && mv /usr/bin/openssl{,.bak} && mv /usr/include/openssl{,.bak}

五、进入/opt、openssl包解压、编译安装(耗时久)

cd /opt && tar zxf openssl-1.1.1k.tar.gz -C /usr/local/ && cd /usr/local/openssl-1.1.1k/ && ./config --prefix=/usr/local/openssl && make -j 2 && make install

六、配置调整、验证openssl版本

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl && ln -s /usr/local/openssl/include/openssl /usr/include/openssl && echo "/usr/local/openssl/lib" >> /etc/ld.so.conf && ldconfig -v && openssl version

七、备份openssh包、卸载旧openssh、包解压、编译安装(耗时久)

cp -r /etc/ssh /etc/ssh.bak && cp -r /etc/pam.d/sshd /etc/pam.d/sshd.bak && rpm -e --nodeps `rpm -qa | grep openssh` && cd /opt && tar zxf openssh-8.6p1.tar.gz && cd openssh-8.6p1 && ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/openssl --without-hardening && make -j 2 && make install

八、拷贝配置文件并启动、允许root登陆、验证版本ssh -V

cp contrib/redhat/sshd.init /etc/init.d/sshd && mv /etc/pam.d/sshd.bak /etc/pam.d/sshd && mv /etc/ssh /etc/ssh_update.bak && mv /etc/ssh.bak /etc/ssh && chmod 600 /etc/ssh/*key && chkconfig --add sshd && chkconfig sshd on && sed -i 's/^#\(PermitRootLogin \).*/\1yes/' /etc/ssh/sshd_config && ssh -V

九、重启sshd服务、再次验证版本ssh -V

centos6:service sshd restart && ssh -V

centos7:systemctl restart sshd && ssh -V

十、复测并恢复升级前状态

#ssh重连测试是否正常

#防火墙状态是否恢复

#telnet重连测试是否已关闭

#填表记录检查是否有遗漏项

>>>此博客源于自身实践,有任何问题欢迎纠错留言!不胜感激!~~~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香菜cookie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值