加载中...

openssh升级步骤

查看当前版本

# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

升级需要以下几个服务器,没有就安装一下

# rpm -qa|grep openssl-devel
openssl-devel-1.0.2k-19.el7.x86_64
# rpm -qa|grep zlib-devel
zlib-devel-1.2.7-18.el7.x86_64
# rpm -qa|grep pam-devel
pam-devel-1.1.8-23.el7.x86_64

下载需要的高版本的openssh安装包,记得要安装p1包(可编译),本次升级到openssh-8.4p1.tar.gz版本

下载地址:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

升级前先安telnet的服务端(客户端都是默认安装开启的),查看

# rpm -qa|grep telnet-server
发现未安装,安装
# yum -y install  telnet-server
# systemctl start telnet.socket
# systemctl status telnet.socket

使用telnet方式进行连接,如下root无法连接是因为没有打开root连接配置,测试可以连接即可,同时多打开几个ssh连接终端,防止升级失败后无法远程连接

# telnet 192.168.100.102
Trying 192.168.100.102...
Connected to 192.168.100.102.
Escape character is '^]'.

Kernel 3.10.0-1160.el7.x86_64 on an x86_64
localhost login: root
Password:
Login incorrect

localhost login: test
Password:
Last login: Fri Feb 23 16:10:45 from ::ffff:192.168.100.101
[test@localhost ~]$ sudo su -
[root@localhost ~]#

升级前先备份原有的ssh文件,保证升级失败后可恢复

# mv /etc/ssh /etc/sshbak
# mv /usr/bin/ssh /usr/bin/sshbak
# mv /usr/sbin/sshd /usr/sbin/sshdbak
升级失败后将文件夹恢复即可回退到原ssh

进行编译安装

tar -zxvf openssh-8.4p1.tar.gz
cd openssh-8.4p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check --with-pam
make
make install

根据原有的/etc/sshbak/sshd_config对/etc/ssh/sshd_config进行同步修改,修改完成后用以下命令进行检查,没有报错即ok

sshd -t

重启sshd服务,启动需要等待几分钟

systemctl restart sshd

可正常登录即可

ssh root@192.168.100.102

查看ssh版本,已经升级到8.4p1版本

# ssh -V
OpenSSH_8.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

至此openssh升级完成

添加一个制作rpm包直接升级的参考方式

亲测有效,切记操作前先备份,需要再同一种操作系统编译好的rpm包才能互相使用
https://github.com/boypt/openssh-rpms
操作完成后启动查看状态出现:“Failed to start sshd.service: Unit sshd.service not found.”报错,
一般是没有/usr/lib/systemd/system/sshd.service或者/etc/init.d/sshd.service文件,在相同的操作系统上复制一份就行,或者用之前备份的文件

posted @ 2024-02-23 17:10  沾沾自喜的混子  阅读(162)  评论(0编辑  收藏  举报