OpenSSH 升级 到9.6p1
问题描述
OpenSSH 命令注入漏洞(CVE-2020-15778)
解决方案:
1.备份
#查询ssh目录
whereis sshd
mv /usr/sbin/sshd /usr/sbin/sshd.bak
whereis ssh
mv /usr/bin/ssh /usr/bin/ssh.bak
whereis ssh-keygen
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
2.卸载旧版本
yum remove openssh-server
3.安装新的openssh-server
下载地址:ssh安装包下载地址
# 安装依赖
yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel pam-devel openssl openssl-devel openssl-libs
cd /usr/local
#服务器上下载最新的ssh安装包或下载好后拷贝到服务器
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz
tar -zxvf openssh-9.6p1.tar.gz
cd openssh-9.6p1
./configure
#这里要注意一下如果升级过openssl需要再./configure后面指定openssl路径,如:./configure --with-ssl-dir=/usr/local/lib64/
make & make install
# 设置全局使用
cp /usr/local/sbin/sshd /usr/sbin
cp /usr/local/bin/ssh /usr/bin
cp /usr/local/bin/ssh-keygen /usr/bin/
#查看版本
ssh -V
#调整配置文件
cp /usr/local/openssh-9.1p1/sshd_config /etc/ssh/
vi /etc/ssh/sshd_config
#配置文件端口默认22 按需调整,这里我调整为33022,登录我调整为yes
Port 33022
PermitRootLogin yes
vi /etc/init.d/sshd
#在48行下面加上 OPTIONS="-f /etc/ssh/sshd_config"
#重启
systemctl daemon-reload
systemctl restart sshd
#修改配置文件sshd_config
#重启
systemctl restart sshd
遇到的问题:
OpenSSL>=1.1.1 ssl版本过低,需升级openssl
OpenSSL library not found 因为我升级了ssl ./configure 没有指定ssl路径
参考连接:
https://www.jianshu.com/p/8b6572c6d948
https://www.zhihu.com/tardis/sogou/art/564255869