openssh漏洞升级版本9.4.1p

        服务器在做漏扫时发现openssh有几个高危漏洞,现在需要将openssh版本升级到9.4p1

查看openssh版本号

ssh -V

环境准备下载相关依赖和命令

yum install wget gcc openssl-devel pam-devel rpm-build zlib-devel -y

现有openssl1.0.2k升级openssl到1.1.1t

下载安装包

wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz  --no-check-certificate

解压

tar zxvf openssl-1.1.1t.tar.gz  -C /usr/local/

cd /usr/local/openssl-1.1.1t/

编译安装

./config --prefix=/usr/local/openssl

执行完看一下回显,是否成功。回显0是无报错

然后执行make

make -j 4

make install 

执行完每一步都检查一下回显  echo $?

备份原来的openssl

mv /usr/bin/openssl /usr/bin/openssl-1.0.2

mv /usr/include/openssl/ /usr/include/openssl-1.0.2

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 更新动态链接库数据

chmod 755 -R /usr/local/openssl  给对应文件提权

ldconfig -v   更新缓存库

openssl version -a  此时查看版本号报下面错误

这是因为openssl库的位置不正确造成的,需重新指定和配置openssl库的位置

ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/

openssl version   版本号

下面升级openssh

rpm -qa | grep openssh   查看当前安装包

先备份当前的ssh

mv /etc/ssh/ /etc/ssh.bak  && mv /usr/bin/ssh /usr/bin/ssh.bak  &&  mv /usr/sbin/sshd /usr/sbin/sshd.bak

卸载与 openssh 相关的所有 RPM 包

rpm -e --nodeps $(rpm -qa |grep openssh)

此时会显示上面备份的几个文件移除失败不用管

然后在检查一下是否卸载干净

rpm -qa | grep openssh

下载需要安装的openssh

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.4p1.tar.gz --no-check-certificate

如果有需要其他版本请到https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

tar zxvf openssh-9.4p1.tar.gz   解压

mv openssh-9.4p1 /usr/local/

cd /usr/local/openssh-9.4p1/

开始编译安装

CCFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib64" ./configure --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/openssl

CCFLAGS="-I/usr/local/include":指定 C 编译器的附加选项,其中 -I 表示添加包含文件搜索路径,/usr/local/include 是要添加的路径。

LDFLAGS="-L/usr/local/lib64":指定链接器的附加选项,其中 -L 表示添加库文件搜索路径,/usr/local/lib64 是要添加的路径。

./configure:运行 configure 脚本,该脚本用于检查系统环境并生成相应的 Makefile。

--sysconfdir=/etc/ssh:指定 OpenSSH 的配置文件目录为 /etc/ssh。

--with-zlib:启用对 zlib 压缩库的支持,以便在传输过程中进行数据压缩。

--with-ssl-dir=/usr/local/openssl:指定 OpenSSL 库的安装路径为 /usr/local/openssl。

执行完了 查看一下回显 echo $?

make -j 4

make install

执行每一步都看一下回显 echo $?

修改一下对应目录的权限

chmod 600 /etc/ssh/*

复制配置文件到对应目录

cp -rf /usr/local/sbin/sshd /usr/sbin/sshd

cp -rf /usr/local/bin/ssh /usr/bin/ssh

cp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen

cp -ar /usr/local/openssh-9.4p1/contrib/redhat/sshd.init /etc/init.d/sshd

cp -ar /usr/local/openssh-9.4p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

注意新升级的openssh是禁止root用户远程登录的我们这里修改一下配置

vim /etc/ssh/sshd_config    最底部添加

PermitRootLogin yes

X11Forwarding yes

PasswordAuthentication yes

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

sed -i "s/^#Port/Port/g" /etc/ssh/sshd_config   打开22端口的注释

chmod 755 /etc/init.d/sshd

systemctl enable sshd    设置开启自启

systemctl restart sshd 重启ssh服务

systemctl status sshd 查看ssh服务状态

ssh -V    在次查看版本号   

到这里就全部升级好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值