Centos7升级openssl及openssh-8.6p1

2 篇文章 0 订阅

前言: 漏洞CVE-2020-15778,OpenSSH的8.3p1及之前版本中的scp允许在scp.c远程功能中注入命令,攻击者可利用该漏洞执行任意命令。升级为最新版解决!

       注意:

       以防升级失败,连不上服务器,建议先安装telnet,测试可远程,如还有其他方式远程,那直接干吧;ssh在以下过程中移除之后,不能退出当前终端,若退出,无法再次连接ssh了。只能通过telnet或直接控制台打键盘输入了。

关闭firewalld和selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/'   /etc/selinux/config

setenforce 0

安装依赖

yum -y install lrzsz zlib-devel  zlib  pcre  pcre-devel pam-devel

下载组件文件

wget  https://www.openssl.org/source/openssl-1.1.1g.tar.gz

tar -zxvf openssl-1.1.1g.tar.gz

cd openssl-1.1.1g

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib shared

make

make install

创建软链接

rm  /usr/bin/openssl

ln -s /usr/local/openssl/bin/openssl  /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

更新系统配置

echo "/usr/local/openssl/lib"  >> /etc/ld.so.conf

/sbin/ldconfig

检查版本

openssl version

安装openssh,选用最新发布的版本

wget  https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz

卸载系统预装的openssh

rpm -qa | grep openssh

yum -y remove $(rpm -qa | grep openssh)

备份openssh配置

cp -r /etc/ssh /etc/ssh.bak

rm -rf /etc/ssh  (必须)

安装步骤

tar -zxvf  openssh-8.6p1.tar.gz

cd  openssh-8.6p1

./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/openssl/include   --with-ssl-dir=/usr/local/openssl   --with-zlib   --with-md5-passwords   --with-pam   --with-ssl-engine

make

make install

创建软链接

ln -s /usr/local/openssh/sbin/sshd /usr/sbin/sshd

ln -s /usr/local/openssh/bin/ssh /usr/bin/ssh

ln -s /usr/local/openssh/bin/ssh-add /usr/bin/ssh-add

ln -s /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

ln -s /usr/local/openssh/bin/ssh-keyscan /usr/bin/ssh-keyscan

将openssh的服务脚本复制到/etc/init.d目录下

cp /root/openssh-8.6p1/contrib/redhat/sshd.init /etc/init.d/sshd

chmod u+x /etc/init.d/sshd

添加sshd服务并设置为开机启动

chkconfig --add sshd

chkconfig  sshd  on

检查openssh版本

ssh -V

OpenSSH_8.6p1, OpenSSL 1.1.1g  21 Apr 2020

修改openssh的配置文件,允许root登录

echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config

echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config

重启sshd服务

systemctl daemon-reexec

systemctl restart sshd

systemctl status sshd

查看sshd进程监听又回来了

ss -tnlp | grep  sshd

这时候putty新建连接是没问题,但SecureCRT即出现

Key exchange failed.

No compatible key-exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,

ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,

diffie-hellman-group18-sha512,diffie-hellman-group14-sha256

原因: 升级了openssh的服务器已经不再支持老版本ssh client的相关协议

修改升级后的服务器配置文件使其支持旧版本的协议

cat >>  /etc/ssh/sshd_config <<EOF

KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org

EOF

重载并重启sshd服务

systemctl daemon-reexec

systemctl restart sshd

systemctl status  sshd

至此openssh服务升级完成,

不放心的话可以reboot重启机器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值