一、升级背景
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