CentOS7升级SSH最新版本(9.4p1)详细步骤

目录

引言

当前操作系统情况

第一步:下载SSH和SSL安装包

第二步:安装配置Telnet(防止ssh安装失败无法连接)

1、安装Telnet

2、运行Telnet服务

3、移除文件

4、使用Telnet远程连接

第三步:卸载旧版本SSH

第四步:安装依赖包

第五步:升级SSL

1、解压源码包 

2、进入源码包执行config文件

3、编译安装

4、配置软连接

5、查看是否安装成功

第六步:升级SSH

1、解压源码包

2、进入源码包目录编译安装 

 3、复制配置文件

4、配置/etc/ssh/sshd_config文件(允许root账户远程登录)

5、添加SSH开机自启动

6、重启ssh服务,查看sshd运行状态

7、查看安装结果

8、删除telnet-server包


引言​​​​​​​

最近接了一个安全服务加固项目,看了一眼大部分是基于SSH与SSL的CVE漏洞,根据修复建议就是升级更高的版本,或者打补丁,于是就对服务器的OpenSSH和OpenSSL进行了升级。(升级了一天,感觉自己就是敲键盘的猴子,手指头酸痛酸痛的😭),废话不多说,记录一下升级的步骤和遇到的坑,希望可以帮助到大家~

OpenSSH9.4P1要求OpenSSH版本最低为1.1

当前操作系统情况

!!!这一步非常重要!!!

先确定服务器操作系统的版本,因为不同版本的操作系统用到的命令存在很大的差异。比如centOS 6版本就需要手动安装很多组件,可以使用下面的命令确定操作系统版本以及OpenSSH与OpenSSL版本:

[root@xiaogu ~]# cat /etc/redhat-release      //查看操作系统版本
CentOS Linux release 7.9.2009 (AltArch)
[root@xiaogu ~]# ssh -V          //查看SSH和SSL版本
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

这里是本机的操作系统和当前的OpenSSH与OpenSSL版本:

操作系统版本:Centos Linux release 7.9.2009

SSH版本:OpenSSH 7.4p1      SSL版本:OpenSSL 1.0.2k

第一步:下载SSH和SSL安装包

这里下载有两种方式:

1、离线安装一般是自己现在官网上下载好安装包,传到服务器中(笔者安装方式)

2、通过wget下载

!!!离线安装!!!必须先传安装包,因为后面删除旧版本ssh和ssl就无法传文件了

我这里将SSH升级到最新版本9.4p1,SSL升级到1.1.1v,如下图,已将安装包传至服务器中

第二步:安装配置Telnet(防止ssh安装失败无法连接

1、安装Telnet

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

[root@xiaogu ~]# yum install telnet-server.x86_64 xinetd.x86_64

2、运行Telnet服务

[root@xiaogu ~]# systemctl enable telnet.socket  
[root@xiaogu ~]# systemctl start telnet.socket      //启动telnet.socket
[root@xiaogu ~]# systemctl start xinetd      //启动telnet.socket
[root@xiaogu ~]# systemctl status telnet.socket    //查看telnet状态
● telnet.socket - Telnet Server Activation Socket
   Loaded: loaded (/usr/lib/systemd/system/telnet.socket; enabled; vendor preset: disabled)
   Active: active (listening) since Wed 2023-08-30 16:41:59 EDT; 6min ago
     Docs: man:telnetd(8)
   Listen: [::]:23 (Stream)
 Accepted: 0; Connected: 0

Aug 30 16:41:59 xiaogu systemd[1]: Listening on Telnet Server Activation Socket.

3、移除文件

Linux系统中默认不允许root账户telnet远程登录,这里需要移除配置文件,保证root账户能够远程登录。

[root@xiaogu ~]# mv /etc/securetty /etc/securetty.bak

4、使用Telnet远程连接

这里我们切换到Telnet协议进行远程连接,防止后面卸载就版本SSH断连。

第三步:卸载旧版本SSH

[root@xiaogu ~]# yum remove openssh -y   //卸载旧版本SSH
[root@xiaogu ~]# rm -rf /etc/ssh/*       //删除原SSH文件

第四步:安装依赖包

[root@xiaogu ~]# yum -y install zlib* pam-* gcc make

第五步:升级SSL

1、解压源码包 

[root@xiaogu ~]# tar -zxvf openssl-1.1.1v.tar.gz

2、进入源码包执行config文件

[root@xiaogu ~]# cd /root/openssl-1.1.1v
[root@xiaogu openssl-1.1.1v]# ./config --prefix=/usr/local/openssl
//这里顺利安装后直接看3、编译安装
  • 可能会遇到的报错信息1:

             Operating system: aarch64-whatever-linux2
             You need Perl 5. 

这是由于未安装perl导致的,只需安装perl后,再重新运行config文件即可。

[root@xiaogu openssl-1.1.1v]# yum install perl*  //安装Perl命令
[root@xiaogu openssl-1.1.1v]# ./config --prefix=/usr/local/openssl  //安装Perl后再重新执行
  • 可能会遇到的报错信息2:

         Can't locate IPC/Cmd.pm in @IN。。。。。

[root@xiaogu openssl-1.1.1v]# yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
[root@xiaogu openssl-1.1.1v]# ./config --prefix=/usr/local/openssl  //重新执行

3、编译安装

[root@xiaogu openssl-1.1.1v]# make -j4 && make install

4、配置软连接

[root@xiaogu openssl-1.1.1v]# ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@xiaogu openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@xiaogu openssl-1.1.1v]# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

可能遇到的报错信息:提示已存在。。。。

将参数换成-b即可

5、查看是否安装成功

[root@xiaogu openssl-1.1.1v]# openssl version
OpenSSL 1.1.1v  1 Aug 2023    //出现类似这样的信息说明升级安装成功了

第六步:升级SSH

1、解压源码包

[root@xiaogu ~]# tar -zxvf openssh-9.4p1.tar.gz

2、进入源码包目录编译安装 

[root@xiaogu openssh-9.4p1]# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl   --with-zlib   --with-md5-passwords   --with-pam && make -j4&& make install

如果找不到openssl lib,执行:

[root@xiaogu openssh-9.4p1]# ./configure --prefix=/usr/ --sysconfdir=/etc/ssh  --with-openssl-includes=/usr/local/openssl/include --with-ssl-dir=/usr/local/openssl   --with-zlib   --with-md5-passwords  CCFLAGS="-I /usr/lib/openssl/openssl/include" LDFLAGS="-L /usr/lib/openssl/openssl/lib64"  --with-pam && make && make install

 3、复制配置文件

[root@xiaogu openssh-9.4p1]# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
[root@xiaogu openssh-9.4p1]# chmod u+x /etc/init.d/sshd

4、配置/etc/ssh/sshd_config文件(允许root账户远程登录)

[root@xiaogu ~]# vim /etc/ssh/sshd_config 
PasswordAuthentication yes     //取消该行注释
PermitRootLogin yes      //添加改行,允许root账户远程登录

5、添加SSH开机自启动

[root@xiaogu ~]# chkconfig --add sshd
[root@xiaogu ~]# chkconfig sshd on

6、重启ssh服务,查看sshd运行状态

[root@xiaogu ~]# systemctl restart sshd       //重启sshd服务
[root@xiaogu ~]# systemctl status sshd        //查看sshd运行状态
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled)
   Active: active (running) since Wed 2023-08-30 19:39:40 EDT; 8s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 31118 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=0/SUCCESS)
 Main PID: 31126 (sshd)
    Tasks: 1
   CGroup: /system.slice/sshd.service
           └─31126 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups

Aug 30 19:39:40 xiaogu systemd[1]: Starting SYSV: OpenSSH server daemon...
Aug 30 19:39:40 xiaogu sshd[31118]: /sbin/restorecon:  lstat(/etc/ssh/ssh_host_dsa_key.pub) failed:  No such file or directory
Aug 30 19:39:40 xiaogu sshd[31126]: Server listening on 0.0.0.0 port 22.
Aug 30 19:39:40 xiaogu sshd[31126]: Server listening on :: port 22.
Aug 30 19:39:40 xiaogu sshd[31118]: Starting sshd:[  OK  ]
Aug 30 19:39:40 xiaogu systemd[1]: Started SYSV: OpenSSH server daemon.

7、查看安装结果

[root@xiaogu ~]# ssh -V
OpenSSH_9.4p1, OpenSSL 1.1.1v  1 Aug 2023        //已升级安装完成

8、删除telnet-server包

[root@xiaogu ~]# yum remove telnet-server -y //只删除服务端,不删除客户端,方便以后安装

  • 18
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小谷要努力~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值