安装环境
yum install -y gcc openssl-devel zlib-devel wget
yum install systemd-devel libssh-devel libopenbsd-compat-devel
sudo yum install perl
sudo yum install openssh-server
一、安装zlib
1、下载zlib源码并解压
wget https://www.zlib.net/fossils/zlib-1.2.13.tar.gz
tar -xzvf ./zlib-1.2.13.tar.gz
2、编译源码并安装
cd zlib-1.2.13/
./configure --shared
make
make install
cp zutil.h /usr/local/include
cp zutil.c /usr/local/include
二、安装openssl
1、上传openssl-1.1.1u.tar.gz包
下载地址:https://www.openssl.org/source/openssl-1.1.1u.tar.gz
2、解压
tar -xzvf openssl-1.1.1u.tar.gz
3、编译源码并安装
cd openssl-1.1.1u
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make
make install
4、更新系统的 OpenSSL
# 更新系统的 OpenSSL 链接,首先备份旧版本的 openssl 可执行文件
mv /usr/bin/openssl /usr/bin/openssl.old
# 创建新的符号链接:
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
# 更新系统库链接
echo "/usr/local/openssl/lib" | sudo tee -a /etc/ld.so.conf.d/openssl-1.1.1k.conf
sudo ldconfig
5、查看版本
openssl version
显示如下则升级成功
三、升级openssh
1、下载openssh源码并解压
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p2.tar.gz
tar -zxvf openssh-9.3p2.tar.gz
# 备份
mv /etc/ssh /etc/ssh@20240507
2、编译源码并安装
cd openssh-9.3p2/
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl/ --with-zlib --with-ssl-engine
make
make install
这里需要主要,--with-ssl-dir参数后跟的文件夹路径要以实际为准,这个路径可以在openssl的编译和安装日志中看到,形如:DOPENSSLDIR=/usr/local/openssl 或 DENGINESDIR=/usr/local/openssl/lib/engines-1.1
3、验证系统openssh版本
ssh -V
四、解决升级后无法用ssh远程登录
1、修改配置文件
vim /etc/ssh/sshd_config
在配置文件中新增下面配置
PermitRootLogin yes #允许root帐号远程登录 PasswordAuthentication yes #开启密码认证方式 UsePAM yes #开启UsePAM登录
2、修改sshd的启动方式
vi /usr/lib/systemd/system/sshd.service
将原有的Type=notify改为Type=simple
保存退出
systemctl daemon-reload systemctl restart sshd
如果帮助了您,麻烦留下关注和赞哈。。。。。。