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

一、环境信息

操作系统: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运维实战总结

  • 27
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值