由于之前使用的openssh8.7版本有一些漏洞,因此对其进行升级更新到openssh9.8
一、下载openssh最新版本与openssl对应版本:
首先去到openssh最新版本下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable//
下载倒数第二个,并导入到服务器中
二、安装openssh9.8
解压文件:
tar -xvf openssh-9.8p1.tar.gz
进入目录:
cd openssh-9.8p1
首先,确保你的系统上安装了 C 编译器。在基于 Red Hat 的系统(如 RHEL、CentOS)上,你可以使用以下命令安装 gcc:
sudo yum install gcc-c++
安装依赖项
sudo yum install openssl-devel zlib-devel
运行 ./configure 命令
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/opt/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib --without-hardening
编译
Make
安装
sudo make install
三、修改配置
由于9.8版本和前面的老版本有些配置不一样,因此需要我们手动修改
编辑 SSH 配置文件:
sudo vi /etc/ssh/sshd_config
取消注释 Port 22
取消注释 PermitRootLogin prohibit-password
取消注释 PubkeyAuthentication和PasswordAuthentication yes
确保Subsystem行没有被注释掉,以启用SFTP服务。
取消注释3个加密文件
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
在这下面两行后面添加ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
HostkeyAlgorithms +ssh-rsa
打开密钥文件进行修改
sudo vi /etc/crypto-policies/back-ends/opensshserver.config
注释掉第三行,并且在红色区域加了ssh_rsa
给密钥文件授权
sudo chmod 600 /etc/ssh/ssh_host_rsa_key
sudo chmod 600 /etc/ssh/ssh_host_ecdsa_key
sudo chmod 600 /etc/ssh/ssh_host_ed25519_key
sudo chown root:root /etc/ssh/ssh_host_rsa_key
sudo chown root:root /etc/ssh/ssh_host_ecdsa_key
sudo chown root:root /etc/ssh/ssh_host_ed25519_key
重启ssh服务
sudo systemctl restart sshd
验证ssh服务状态
sudo systemctl status sshd
查看ssh版本
ssh -V
到此就更新成功
如果有的重启服务后查看版本还是老版本,没有更新成功可能是你的系统路径没有更新
更新系统路径,确保你的系统路径包含新安装的OpenSSH目录
echo 'export PATH=/usr/local/openssh/bin:$PATH' >> ~/.bashrc
source ~/.bashrc