##ssh 升级所需依赖
yum -y install gcc make perl zlib zlib-devel pam pam-devel libselinux-devel gcc-c++
##下载离线安装包(在本地虚拟机下载)
yumdownloader gcc make perl zlib zlib-devel pam pam-devel libselinux-devel gcc-c++ --resolve --destdir=/opt/telnet/
##如果提示yumdownloader不存在执行以下命令
yum install yum-utils -y
##在线安装(在opt下创建package和src目录)
在package目录下载程序
wget -P /opt/package/ https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.1p1.tar.gz
解压程序
tar -xvf /opt/package/openssh-9.1p1.tar.gz -C /opt/src/
cd /opt/src/openssh-9.1p1/
chown -R root:root ./
mkdir -p /tmp/ssh_old
cp -ar /etc/ssh /tmp/ssh_old
cp /usr/sbin/sshd /tmp/ssh_old
rm -rf /etc/ssh/*
在openssh-9.1p1目录编译安装
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/openssl/include/openssl --with-ssl-dir=/usr/local/openssl --with-zlib --with-md5-passwords --with-pam
make && make install
ssh -V
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
mv /usr/lib/systemd/system/sshd.service /tmp/ssh_old
mv /usr/lib/systemd/system/sshd.socket /tmp/ssh_old
rm -rf /etc/systemd/system/multi-user.target.wants/sshd.service
cp -a /etc/ssh/sshd_config{,.bak}
sed -ri "/PermitRootLogin/ s/(.*)/#\1/g; $ a PermitRootLogin yes" /etc/ssh/sshd_config
sed -ri "/UseDNS/ s/(.*)/#\1/g; $ a UseDNS no" /etc/ssh/sshd_config
sed -ri "/UsePAM/ s/(.*)/#\1/g; $ a UsePAM no" /etc/ssh/sshd_config
sed -ri "/^[ ]*Port/ s/(.*)/#\1/g; $ a Port 22" /etc/ssh/sshd_config
systemctl daemon-reload
/etc/init.d/sshd restart
ps -aux |grep sshd
systemctl status sshd