《Linux运维总结:ARM64架构基于Ubuntu 22.04.2之OpenSSH8.9升级版本至9.8》

avatar
作者
筋斗云
阅读量:0

一、环境信息

操作系统:Ubuntu 22.04.2 LTS
OpenSSH_8.9p1, OpenSSL 3.0.2 15 Mar 2022

如下图所示:
在这里插入图片描述

注意:升级后由于加密算法的区别,低版本的SSH工具可能无法连接,建议改用Xshell7或SecureCRT9.0以上版本。


二、注意事项

1、检查防火墙或selinux是否关闭
2、建议安装telnet,防止ssh安装失败无法连接
3、新前一定要多开1个或1个以上ssh终端,一旦更新失败当前shell终端是无法操作的,也就无法进行版本回退
4、升级前一定要对ssh进行备份,避免更新失败时能回滚
5、升级前一定要提前在测试环境验证,运行一段时间,确认没有问题才可在生产环境进行更新操作。
6、对于生产环境主机数量比较多时,建议先在1台或几台服务器上更新,运行一段时间,确认没有问题再执行批量更新操作。

总结:对于以上需要注意的内容,建议大家务必重视,小心谨慎总没错的。


三、升级步骤

3.1、安装telnet

注意:安装telnet,防止ssh安装失败无法连接。

1、安装Telnet

注意:一般Linux系统自带Telnet客户端,我们只需要安装服务端即可;另外Telnet运行需要依靠xinetd组件,安装命令如下所示:

apt update apt-get install openbsd-inetd -y apt-get install telnetd  -y 

2、运行telnet服务

vim /etc/inetd.conf telnet       stream    tcp    nowait    root    /usr/sbin/tcpd    /usr/sbin/in.telnetd /etc/init.d/openbsd-inetd restart 

3、使用telnet协议连接服务器,如下图所示:
在这里插入图片描述


3.1、准备工作

1、安装依赖

root@iZbp1h6ve4a68q7h9zbqkfZ:~# apt update root@iZbp1h6ve4a68q7h9zbqkfZ:~# apt install libssl-dev build-essential libncurses5-dev zlib1g-dev -y 

2、下载tar包并解压

root@iZbp1h6ve4a68q7h9zbqkfZ:~# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz root@iZbp1h6ve4a68q7h9zbqkfZ:~# tar axf openssh-9.8p1.tar.gz root@iZbp1h6ve4a68q7h9zbqkfZ:~# cd openssh-9.8p1 

3、环境检查
注意:安装openssh9.8要求openssl版本为1.1.1或者更高版本,zlib版本为1.1.4或者1.2.1.2或者更高版本。
在这里插入图片描述
说明:当前系统环境openssl版本为3.0.2,zlib版本为1.2.11,符合升级要求。如果你的环境不符合,需要对其进行升级。


3.2、备份文件

1、备份/etc/ssh目录

mv /etc/ssh /etc/ssh.bak 

2、备份二进制文件

mkdir /usr/bin/bak \cp -arpf /usr/bin/scp /usr/bin/bak/scp \cp -arpf /usr/bin/sftp /usr/bin/bak/sftp \cp -arpf /usr/bin/ssh /usr/bin/bak/ssh \cp -arpf /usr/bin/ssh-add /usr/bin/bak/ssh-add \cp -arpf /usr/bin/ssh-agent /usr/bin/bak/ssh-agent \cp -arpf /usr/bin/ssh-keygen /usr/bin/bak/ssh-keygen \cp -arpf /usr/bin/ssh-keyscan /usr/bin/bak/ssh-keyscan 

3.3、编译安装openssh

1、进入openssh-9.8p1目录,执行编译安装命令

./configure --prefix=/usr/local/openssh-9.8p1 --sysconfdir=/etc/ssh && make && make install 

2、替换新版本openssh相关命令

mv /usr/sbin/sshd /usr/sbin/sshd.bak \cp /usr/local/openssh-9.8p1/sbin/sshd  /usr/sbin/ \cp -arpf /usr/local/openssh-9.8p1/bin/* /usr/bin/ 

3、修改配置文件

sed -i 's@#PermitRootLogin prohibit-password@PermitRootLogin yes@g' /etc/ssh/sshd_config 

4、设置开机启动,并验证版本

sshd -t systemctl daemon-reload && systemctl enable ssh.socket && systemctl restart sshd 

如下图所示:
在这里插入图片描述

7、重启服务器,以root用户登录服务器
在这里插入图片描述


六、版本回退

1、回滚前:

root@iZbp1h6ve4a68q7h9zbqkfZ:~# ssh -V OpenSSH_9.8p1, OpenSSL 3.0.2 15 Mar 2022 root@iZbp1h6ve4a68q7h9zbqkfZ:~# sshd -V OpenSSH_9.8p1, OpenSSL 3.0.2 15 Mar 2022 

2、回滚openssh:

\mv /etc/ssh.bak  /etc/ssh \mv /usr/bin/bak/* /usr/bin/ \mv /usr/sbin/sshd.bak /usr/sbin/sshd 

3、重启sshd服务

sshd -t systemctl daemon-reload && systemctl enable ssh.socket && systemctl restart sshd 

4、回滚后:

root@localhost:~# ssh -V OpenSSH_8.9p1 Ubuntu-3ubuntu0.6, OpenSSL 3.0.2 15 Mar 2022 root@iZbp1h6ve4a68q7h9zbqkfZ:~# sshd -V unknown option -- V OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022 usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]             [-E log_file] [-f config_file] [-g login_grace_time]             [-h host_key_file] [-o option] [-p port] [-u len] 

如下图所示:
在这里插入图片描述


七、一键更新工具

ARM64架构基于Ubuntu 22.04.2之OpenSSH8.9升级版本至9.8一键更新工具


总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Linux运维实战总结

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!