一、升级背景

Anolis OS release 8.9操作系统自带的openssh版本为8.0,被扫出openssh的漏洞,故升级最新版本整改漏洞。

二、升级注意事项

1.龙蜥操作系统自带了openssl 1.1.1k,所以无需安装其他版本的openssl,以免导致冲突

2.升级前先备份openssh的配置文件目录,多打开一个会话窗口保持ssh连接,为了保险起见建议打开telnet服务,防止升级失败openssh无法启动导致远程不到服务器。

3.编译安装时如提示缺少一些文件导致安装报错,可通过yum工具进行依赖包的安装

三、升级步骤

备份原始配置

mv /etc/ssh /etc/ssh_bak
cp /etc/pam.d/sshd /etc/pam.d/sshd_bak

下载源代码

mkdir /opeartion
cd /opeartion
wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
tar -zxvf openssh-9.7p1.tar.gz
cd openssh-9.7p1

卸载旧openssh

yum remove openssh

编译安装

yum install -y zlib-devel.x86_64 openssl-devel.x86_64 pam-devel.x86_64 gcc

./configure --prefix=/usr --sysconfdir=/etc/ssh  --with-zlib=/usr/lib --with-ssl-dir=/etc/pki/tls --with-pam

make && make install

生成ssh服务管理脚本并且开启自启动

install -m644 contrib/redhat/sshd.pam /etc/pam.d/sshd 
cp contrib/redhat/sshd.init /etc/init.d/sshd
chmod a+x /etc/init.d/sshd
chkconfig --add sshd

启动服务

service sshd start

备份和还原配置

cp /etc/ssh/sshd_config /etc/ssh/sshd_config_default
cat /etc/ssh_bak/sshd_config >/etc/ssh/sshd_config
cp /etc/pam.d/sshd /etc/pam.d/sshd_default
cat /etc/pam.d/sshd_bak >/etc/pam.d/sshd

重启服务

service sshd restart

查看ssh 和 sshd 版本

ssh -V
sshd -V

最后解决升级后无法访问sftp 的问题

1.查找可执行文件地址

find  /usr/libexec -name  sftp-server

2.修改配置

vim  /etc/ssh/sshd_config
 
#override default of no subsystems
#Subsystem      sftp    /usr/local/openssh/libexec/sftp-server改成下面这句
Subsystem      sftp    /usr/libexec/sftp-server

2.重启sshd服务

systemctl restart sshd