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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

青苔猿猿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值