OpenSSH 安全漏洞修复升级最新版本

系统版本:linux CentOS-7 ssh版本默认OpenSSH7.4左右,低版本是有漏洞的而且是高危漏洞;以下是将ssh版本升级到9.5的过程

1、准备相关安装包

#查看ssh版本

ssh -V

#进入源码存放目录

cd /usr/local/src/

#下载openssh9.5的安装包
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz
#下载ssl
wget https://www.openssl.org/source/openssl-3.2.0.tar.gz --no-check-certificate
#下载zlib
wget https://www.zlib.net/zlib-1.3.tar.gz

下载zlib时可能会报404,那就需要手动下载了 ;
可以去zlib资源下载网站 Index of /fossilshttps://www.zlib.net/fossils/Index of /fossils 右键要下载的版本复制链接地址 然后使用wget ‘复制的链接’ 下载 或者直接点击版本号下载

2、安装zlib

cd /usr/local/src/

#解压文件

tar zxvf zlib-1.3.tar.gz

cd zlib-1.3

#安装前置依赖

yum install gcc gcc-c++ make -y

#编译安装zlib

./configure --prefix=/usr/local/zlib

make && make install

3、安装openssl 

cd /usr/local/src/

#解压文件

tar zxvf openssl-3.2.0.tar.gz

cd openssl-3.2.0

#安装相应的前置依赖

yum install -y perl-CPAN perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

#--prefix指定编译到的目录,"shared"作用是生成动态链接库(即.so库)

./config --prefix=/usr/local/ssl --shared

#编译安装ssl,这个安装过程很长大概有10分钟左右

make && make install(安装时间有点长哟·)

#路径写入etc/ld.so.conf

echo '/usr/local/ssl/lib64' >> /etc/ld.so.conf

4、备份并卸载老版本OpenSSH

#备份ssh配置文件
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -p /usr/sbin/sshd /usr/sbin/sshd.bak
cp -p /usr/bin/ssh /usr/bin/ssh.bak
cp -p /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
cp -p /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak

#停止ssh服务

systemctl stop sshd

#备份ssh文件

cp -r /etc/ssh /etc/ssh.old

 

#查询原有ssh包并卸载

rpm -qa | grep openssh

openssh-clients-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64

#根据查询结果,卸载原有OpenSSH包

yum remove openssh-7.4p1-21.el7.x86_64

 

#再次查看已经没有了

rpm -qa | grep openssh

5、升级OpenSSH 

cd /usr/local/src/

#解压

tar zxvf openssh-9.5p1.tar.gz

cd openssh-9.5p1

#编译安装openssh 指明zlib路径和ssl路径

./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl

make && make install

 

#ssh允许root登录、需要密码进行验证

echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config

 

#将编译安装的新配置文件   拷贝到原路径下
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

 

#拷贝启动脚本

cp -p contrib/redhat/sshd.init /etc/init.d/sshd

#给sshd添加可执行权限

chmod +x /etc/init.d/sshd

#设置开机自启

systemctl enable sshd

#重新启动sshd服务

systemctl restart sshd

#查看sshd服务状态

systemctl status sshd

#查看ssh版本是否升级成功,可以查看到已经是9.5版本了

ssh -V
OpenSSH_9.5p1, OpenSSL 3.2.0 23 Nov 2023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值