SSH升级至9.8p1

此次升级的环境是CentOS-7.6.1810 ssh版本7.4p1
在这里插入图片描述

准备好升级包后上传至/home 目录,上图红色字体就是上传上去的升级包,共计三个,分别是:
openssh-9.8p1.tar.gz
openssl-3.2.2.tar.gz
zlib-1.3.1.tar.gz

第一步,安装编译环境,以及vim等
此次CentOS-7.6是最小化安装,几乎没有安装多余的包,包括vim也没有安装。
#yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano
在这里插入图片描述

一共需要安装78个包

第二步,备份现有的配置
此步对于生产环境非常重要,如果失败回退很重要
如果你的系统还有免密登录 你还需要备份和免密登录相关的文件
cp -rf /etc/ssh /etc/ssh.bak
cp -rf /usr/bin/openssl /usr/bin/openssl.bak
cp -rf /etc/pam.d /etc/pam.d.bak
cp -rf /usr/lib/systemd/system /usr/lib/systemd/system.bak

第三步,解压缩升级包文件
[root@localhost home]# tar -zxvf openssl-3.2.2.tar.gz
[root@localhost home]# tar -zxvf openssh-9.8p1.tar.gz
[root@localhost home]# tar -zxvf zlib-1.3.1.tar.gz

第四步,安装zlib
[root@localhost home]# cd zlib-1.3.1/
[root@localhost zlib-1.3.1]#./configure --prefix=/usr/local/src/zlib
[root@localhost zlib-1.3.1]# make -j 4 && make install
在这里插入图片描述

上面过程很快,几秒而已

第五步,安装openssl-3.2.2
[root@localhost home]# cd openssl-3.2.2/
[root@localhost openssl-3.2.2]# ./config --prefix=/usr/local/src/openssl
在这里插入图片描述

make -j 4 && make install
mv /usr/bin/openssl /usr/bin/oldopenssl
ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
在这里插入图片描述

更新动态库

到这里你的openssl-3.2.2安装好了

第六步,安装升级到openssh-9.8p1
先卸载老的ssh 此处提醒一旦卸载老的ssh,如果您是通过ssh连接,不是直连就不可以掉线、断网、重启,否则您就去机房插上键盘鼠标吧。

[root@localhost openssh-9.8p1]# yum remove -y openssh
[root@localhost openssh-9.8p1]# rm -rf /etc/ssh/*
此时虽然卸载了ssh但是只要不重启ssh ,不退出ssh就能一直用

配置openssh-9.8p1
#cd openssh-9.8p1
#./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib
在这里插入图片描述

之后编译安装openssh-9.8p1
#make -j 4 && make install
#/usr/local/src/ssh/bin/ssh -V #查看ssh版本
至此安装完成,查看ssh版本为OpenSSH_9.8p1, OpenSSL 3.2.2 4 Jun 2024,如下图所示

此处还需要进行一些配置,注意此处我用的时相对路径,因为我此时就在/home openssh-9.8p1目录

cp -rf contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf contrib/redhat/sshd.pam /etc/pam.d/sshd
cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen
在这里插入图片描述

[root@localhost openssh-9.8p1]# /etc/init.d/sshd restart #重启sshd服务
[root@localhost openssh-9.8p1]# systemctl status sshd #查看ssh状态
在这里插入图片描述

[root@localhost openssh-9.8p1]# chkconfig --add sshd #一定要添加到启动项

此时就算是完整了的从7.4升级到了9.8,此次升级如果中途发生意外断网,将会造成无法连接服务器,也可以通过管理口登录服务器进行升级,也有一些人建议临时安装telnet,升级成功后再卸载telnet 这个方案是一个万全之计。

再就是升级后root将会禁止直接ssh登录,如果您有需要root直接ssh登录的需求可以使用如下命令允许root直接登录(建议禁止root用户ssh登录)
echo ‘PermitRootLogin yes’ >> /etc/ssh/sshd_config
echo ‘PasswordAuthentication yes’ >> /etc/ssh/sshd_config

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 CentOS 7.9 系统上升级 OpenSSH 到版本 9.8p1 需要注意几个步骤,因为默认的 CentOS 7 安装包并不包含 OpenSSH 9.x 版本。以下是升级的一般指南: 1. **确认当前OpenSSH版本**: 打开终端,运行 `rpm -q openssh-server` 来查看当前安装的 OpenSSH 版本。 2. **更新系统**: 先确保系统是最新的,输入 `sudo yum update`. 3. **添加 EOL 插件仓库**: CentOS 7 已经不再支持官方的软件源,但是你可以从第三方仓库获取 OpenSSH 9.8p1。首先,需要关闭selinux(如果开启): ``` sudo setenforce 0 ``` 添加仓库,例如使用 `epel` 或 `remi-safe`: ``` sudo yum-config-manager --add-repo http://rpms.remirepo.net/enterprise/remi-release-7.rpm sudo yum-config-manager --enable remi-safe-7 ``` 4. **安装新版本的OpenSSH**: 更新并安装新版本: ``` sudo yum install epel-release openssh-server openssh-clients ``` 如果提示有旧版本冲突,可以使用 `yum remove openssh*` 来移除旧版后再安装。 5. **检查安装并验证**: 安装完成后,再次检查 `rpm -q openssh-server` 确认已安装的是 9.8p1 或更高版本。 6. **配置和服务启动**: 检查并编辑 `/etc/ssh/sshd_config` 文件,如果有新的配置选项,请相应修改。然后重启 ssh 服务: ``` sudo systemctl restart sshd sudo systemctl status sshd ``` **注意**:由于 CentOS 7 已达到 End of Life (EOL)状态,这意味着它不会接受安全更新,因此升级到较新版本的 SSH 可能会带来潜在风险。在生产环境中,建议考虑迁移至更稳定且仍在维护的版本,如 CentOS Stream 或升级到 CentOS 8。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值