前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7.x 升级OpenSSH

CentOS 7.x 升级OpenSSH

作者头像
Kevin song
发布2021-03-24 11:07:24
2.5K0
发布2021-03-24 11:07:24
举报

背景

三级等保评测中对主机进行漏洞扫描发现linux主机存在高危漏洞,查看发现是OpenSSH版本过低导致,于是对主机系统OpenSSH软件版本进行升级。

查看系统版本 ssh版本

代码语言:javascript
复制
#查看系统版本
cat  /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core) 
#查看ssh 版本
ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

更新并安装所需要的依赖

代码语言:javascript
复制
yum install -y make  gcc gcc-c++  openssl-devel zlib zlib-devel pam-devel

下载 解压 openssh8.4压缩包

代码语言:javascript
复制
cd /opt
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.4p1.tar.gz
tar  -zxvf openssh-8.4p1.tar.gz

测试及编译源码

代码语言:javascript
复制
cd openssh-8.4p1
./configure  --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam  --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening

删除/etc/ssh/下的密钥对(只删除密钥对即可,重启会重新生成)

代码语言:javascript
复制
rm -rf /etc/ssh/ssh_host_*

make安装

代码语言:javascript
复制
 make && make install

修改配置文件并且去掉注释

代码语言:javascript
复制
vim /etc/ssh/sshd_config 
 PermitRootLogin yes  
 PasswordAuthentication yes

将源码安装包中 opensshd.init 文件复制到 /etc/init.d/ 目录下并添加可执行权限

代码语言:javascript
复制
cp  /opt/openssh-8.4p1/opensshd.init /etc/init.d/sshd.init
chmod  u+x /etc/init.d/sshd.init

启动ssh服务

代码语言:javascript
复制
/etc/init.d/sshd.init start

备份原有sshd.service文件

代码语言:javascript
复制
mv  /usr/lib/systemd/system/sshd.service   /opt

添加sshd.service 文件

代码语言:javascript
复制
vim /usr/lib/systemd/system sshd.service

# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/sshd.init
Description=SYSV: OpenSSH server daemon

[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=no
PIDFile=/var/run/sshd.pid
ExecStart=/etc/rc.d/init.d/sshd.init start
ExecStop=/etc/rc.d/init.d/sshd.init stop
ExecReload=/etc/rc.d/init.d/sshd.init reload

重载配置

代码语言:javascript
复制
systemctl daemon-reload

重启ssh服务

代码语言:javascript
复制
systemctl  restart sshd

查看当前ssh版本

代码语言:javascript
复制
ssh -V
telnet 127.0.0.1 22

升级有风险操作需谨慎(使用telnet 兜底)可选操作

安装xinted

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。telnet服务就是通过xinetd服务来管理的,所以在安装telnet服务之前需要先安装xinetd服务。

代码语言:javascript
复制
yum install -y xinetd

yum 安装telnet-server telnet-client

代码语言:javascript
复制
yum install   telnet-server telnet

查看软件版本

代码语言:javascript
复制
rpm -qa telnet-server 
telnet-server-0.17-66.el7.x86_64

配置telnet 文件

若此文件不存在,则创建这个文件。将其中disable=yes改为disable=no或注释掉。

代码语言:javascript
复制
vi /etc/xinetd.d/telnet
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = yes
        }

重启服务

代码语言:javascript
复制
systemctl    restart  xinetd
systemctl restart telnet.socket

telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,创建普通用户登录系统切换root。

telnet 测试

代码语言:javascript
复制
telnet 192.168.99.147

升级SSH 存在中断风险,如果SSH 升级失败将会导致终端无法登录,建议在使用本地虚拟机进行测试后对线上生产环境进行升级操作!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档