【Linux】 - openSSH升级

升级原因

服务器openSSH 8.2 被扫描出多个高危漏洞,要打各种补丁或者升级,此处采用升级的方式修复。

漏洞影响版本
Openssh 命令注入漏洞(CVE-2020-15778)【低可信】影响OpenSSH:8.4p1以下版本(含)
OpenSSH 安全漏洞(CVE-2021-28041)【低可信】影响OpenSSH:8.2版本(含)到8.3版本
OpenSSH 输入验证错误漏洞(CVE-2020-12062)【低可信】影响OpenSSH:8.5以下版本

环境

  • Ubuntu 16.04.2 LTS
  • openSSH 8.2

升级步骤

  1. 准备

为了防止升级过程中无法登陆,可暂时开启telnet方式登录

$ sudo apt-get install openbsd-inetd
$ sudo apt-get install telnetd
$ sudo /etc/init.d/openbsd-inetd restart
# 查看 telnet服务是否开启
$ sudo netstat -a | grep telnet
# 创建一个非root账户
$ useradd tu
# 设置密码
$ passwd tu 
# 升级完之后删除用户 关闭telnet服务,一定要关闭哦
  1. 安装
# 1. 下载包
$ wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
# 配置
$ ./configure --prefix=/usr/local/ --sysconfdir=/etc/ssh --with-pam --with-tcp-wrappers
# 编译
$ make
# 安装
$ make install
# 替换原有的sshd和ssh命令 (where ssh|sshd)
$ ln -s /usr/local/sbin/sshd  /usr/sbin/sshd
# 查看service注册的脚本地址 替换对应配置的位置
$ cat /lib/systemd/system/ssh.service
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
  1. 启动
# 校验sshd_config参数 根据结果更改配置文件
$ sshd -t
# 替换配置文件 将不支持的参数注释
$ sed -i 's/UsePrivilegeSeparation/# UsePrivilegeSeparation/g' /etc/ssh/sshd_config && \
sed -i 's/KeyRegenerationInterval/# KeyRegenerationInterval/g' /etc/ssh/sshd_config && \
sed -i 's/ServerKeyBits/# ServerKeyBits/g' /etc/ssh/sshd_config && \
sed -i 's/RhostsRSAAuthentication/# RhostsRSAAuthentication/g' /etc/ssh/sshd_config && \
sed -i 's/RSAAuthentication/# RSAAuthentication/g' /etc/ssh/sshd_config 
# 启动
service ssh restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生如夏花般绚丽

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

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

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

打赏作者

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

抵扣说明:

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

余额充值