OpenSSH离线升级 漏洞CVE-2021-41617 & CVE-2020-15778,CentOs7.6升级openssh-8.8p1 & openssl-1.1.1m
1. 查看系统版本
1.1 操作系统版本查看
cat /etc/redhat-release
1.2 openssl 版本查看
openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
1.3 OpenSSH版本查看
ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
2.安装依赖
yum -y install gcc gcc-c++ kernel-devel
3.离线下载地址
https://www.rpmfind.net/linux/rpm2html/search.php?query=openssh&submit=Search+...
可以现在外网下载好以下安装包
https://www.openssl.org/source/openssl-1.1.1h.tar.gz
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
4. 安装openssl
4.1 解压
tar xf openssl-1.1.1h.tar.gz -C /usr/local/src/
4.2 切换到openssl目录下
cd /usr/local/src/openssl-1.1.1h/
4.3 安装
./config --prefix=/usr/local/ssl -d shared
4.4 解析
make -j 4 && make install
4.5 验证
echo $? 结果为0则正确
echo $?
4.6 在/etc/ld.so.conf追加写入
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig –v
5. 安装openssh
5.1 解压
tar xf openssh-8.8p1.tar.gz -C /usr/local/src/
5.2 备份原有的ssh文件
mv /etc/ssh /etc/ssh.bak
5.3 切换到ssh安装包目录下
cd /usr/local/src/openssh-8.8p1/
5.4 安装openssh
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib
如果报错:
configure: error: OpenSSL version headers not found.
我们在离线安装或升级openssl时可能会遇见标题的问题,下述办法只做尝试,根据不通的操作系统可能解决办法并不一定起作用。
1、重新在执行./config编译openssl时在命令最后面添加--shared
2、检查--with-ssl-dir=/usr/local/ssl命令,将之改为--with-ssl-dir=/usr/local
我是通过方法2解决的
5.5 解析openssh
make -j 4 && make install
5.6 验证
echo ? 输出0则没有问题
echo $?
5.7 备份 /etc/ssh 原有文件 、并将新的配置复制到指定目录
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh
mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
5.8 查看版本
ssh –V
5.9 写入ssh配置文件
vim /etc/ssh/sshd_config
#########################sshd配置文件底部插入的内容如下##############
X11Forwarding yes
XAuthLocation /usr/bin/xauth
UseDNS no
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
##############################################################
5.10 启动sshd服务
先听掉sshd服务
systemctl stop sshd.service
删除原有的启动服务
rm –rf /lib/systemd/system/sshd.service
重新加载启动服务
systemctl daemon-reload
复制新的sshd.init文件
cp /usr/local/src/openssh-8.8p1/contrib/redhat/sshd.init /etc/init.d/sshd
重启sshd服务
/etc/init.d/sshd restart
5.11 查看sshd服务的状态
systemctl status sshd
启动不起来 可以使用/etc/init.d/sshd restart重启即可
5.12 添加开机启动
chkconfig --add sshd
chkconfig --list sshd
更多推荐
所有评论(0)