目录
一、前景提要
二、先备份默认配置
三、卸载apt已安装OpenSSH
四、在线安装源码编译依赖环境
五、源码安装
六、还原之前的配置(如果权限安装跳过此步骤)
七、错误处理
一、前景提要
当前Linux Server上的OpenSSH版本太低,有漏洞而且不安全,需要马上进行升级。由于OpenSSH依赖于openssl,因此先确认安装openssl,可以通过openssl version查看openssl版本。这里不单独将openssl安装。
操作系统:Ubuntu 20.04.6 LTS
OpenSSH版本变化:OpenSSH 8.2p1 = > OpenSSH_9.4p1
OpenSSH安装方式:源码升级
选项:需要保留原来openssh配置,保证基于此功能的sftp功能正常。
二、先备份默认配置
主要是 /etc/ssh、 /etc/init.d/ssh (重要配置文件cat /etc/ssh/sshd_config)
cp -a /etc/init.d/ssh /etc/init.d/ssh.20240328cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.20240328
三、卸载apt已安装OpenSSH
1.查看原来通过apt方式已经安装openssh软件
sudo apt list --installed | grep openssh
2.卸载原来OpenSSH
sudo apt-get remove openssh-server openssh-client -y
四、在线安装源码编译依赖环境
sudo apt updatesudo apt install gcc make zlib1g-dev libpam0g-dev libkrb5-dev libedit-dev libssl-dev -y
五、源码安装
1.解压openssh源代码
cd /install/tar -zxf openssh-9.4p1.tar.gz
2.配置编译选项
cd openssh-9.4p1/./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-md5-passwords --with-pam
3.编译并安装
make && make install
4.查看新安装后的openssh版本
ssh -V
六、还原之前的配置(如果权限安装跳过此步骤)
## 备份新的configmv /etc/ssh/sshd_config /etc/ssh/sshd_config.default1mv /etc/init.d/ssh /etc/init.d/ssh.default1## 还原原来的configcp /etc/ssh/sshd_config.20240328 /etc/ssh/sshd_configcp /etc/init.d/ssh.20240328 /etc/init.d/ssh
十、解除锁定、重启ssh
systemctl unmask sshsystemctl restart sshd
注意:unmask后需要恢复原来的配置/etc/init.d/ssh,才能重新restart启动成功!
七、错误处理
查看sshd状态并解决报错问题
systemctl status sshd
ssh服务重新启动后错误处理
下面是错误日志
systemctl status sshd● ssh.service - LSB: OpenBSD Secure Shell server Loaded: loaded (/etc/init.d/ssh; generated) Active: active (exited) since Tue 2024-02-27 12:41:28 CST; 6s ago Docs: man:systemd-sysv-generator(8) Process: 2327592 ExecStart=/etc/init.d/ssh start (code=exited, status=0/SUCCESS)Feb 27 12:41:27 master systemd[1]: Starting LSB: OpenBSD Secure Shell server...Feb 27 12:41:28 master ssh[2327592]: * Starting OpenBSD Secure Shell server sshdFeb 27 12:41:28 master ssh[2327599]: /etc/ssh/sshd_config line 72: Unsupported option GSSAPIAuthenticationFeb 27 12:41:28 master ssh[2327599]: /etc/ssh/sshd_config: line 112: Bad configuration option: DebianBannerFeb 27 12:41:28 master ssh[2327599]: /etc/ssh/sshd_config: terminating, 1 bad configuration optionsFeb 27 12:41:28 master ssh[2327592]: ...fail!Feb 27 12:41:28 master systemd[1]: Started LSB: OpenBSD Secure Shell server.
1、报错:/etc/ssh/sshd_config line 72: Unsupported option GSSAPIAuthentication
打开/etc/ssh/sshd_config,注释掉: GSSAPIAuthentication yes
2、报错: /etc/ssh/sshd_config: line 112: Bad configuration option: DebianBanner
打开/etc/ssh/sshd_config ,注释掉: DebianBanner **
修改后重启sshd
至此,你的Ubuntu 20.04系统就已经升级到OpenSSH 9.4了。你可以使用ssh -V命令查看当前的SSH版本,确认升级是否成功:
如果看到的版本号是OpenSSH_9.4,那么说明升级成功。