一、升级背景

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

二、升级注意事项

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

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

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

三、升级步骤

备份原始配置

  • 01
  • 02
mv /etc/ssh /etc/ssh_bak cp /etc/pam.d/sshd /etc/pam.d/sshd_bak

下载源代码

  • 01
  • 02
  • 03
  • 04
  • 05
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

ssh
  • 01
yum remove openssh

编译安装

  • 01
  • 02
  • 03
  • 04
  • 05
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服务管理脚本并且开启自启动

  • 01
  • 02
  • 03
  • 04
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

启动服务

  • 01
service sshd start

备份和还原配置

  • 01
  • 02
  • 03
  • 04
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

重启服务

ssh
  • 01
service sshd restart

查看ssh 和 sshd 版本

  • 01
  • 02
ssh -V sshd -V

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

1.查找可执行文件地址

sh
  • 01
find /usr/libexec -name sftp-server

2.修改配置

sh
  • 01
  • 02
  • 03
  • 04
  • 05
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服务

sh
  • 01
systemctl restart sshd