暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openssh 升级版本至8.3

小董的成长笔记 2021-07-01
807

升级背景:

我们之前的ssh版本是7.4,但是发现7.4版本有一个严重的提权漏洞,sshd服务可以利用转发的agent-socket文件,欺骗本机的ssh-agent来加载一个恶意的PKCS#11模块,从而可以远程执行代码。所以我们决定升级到最新版本的ssh

系统:centos7.9

ssh版本:7.4

先开启telnet防止升级失败

yum install xinetd telnet-server -y
systemctl start telnet.socket
systemctl start xinetd
复制

升级ssh

安装依赖包

yum -y install gcc zlib-devel openssl-devel pam-devel
复制

下载安装包地址:

https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/
复制

上传到服务器内 解压

tar xf  openssh-8.3p1.tar.gz
cd openssh-8.3p1
复制

编译安装

# 创建备份目录,备份ssh相关文件
mkdir /opt/tmp
mv /etc/ssh/* /opt/tmp

# 编译安装
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include \
--with-ssl-dir=/usr/local/ssl   --with-zlib   --with-md5-passwords   --with-pam && make&& make install
# 替换ssh配置
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd

mv /usr/lib/systemd/system/sshd.service /opt/tmp/
chkconfig --add sshd
复制

使用system启动服务

systemctl start sshd
复制

测试没有问题 关闭telnet

systemctl stop telnet.socket
systemctl stop xinetd
systemctl disable xinetd
复制

可能出现的报错

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
复制

这是由于找不到libssl.so.1.1造成的。

解决方法:

使用root用户执行:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
复制
文章转载自小董的成长笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论