查看当前版本
# 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 1645 from :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文件,在相同的操作系统上复制一份就行,或者用之前备份的文件
链接:https://www.cnblogs.com/wangyuanguang/p/18029985
全部0条评论
快来发表一下你的评论吧 !