CentOS7升级OpenSSH 8.8p1及OpenSSL 3.0.1

目录

1.介绍

2.准备

2.1 安装包下载

2.2 Telnet安装

3. OpenSSL升级

3.1 安装依赖包

3.2 编译安装

3.3 备份原来的OpenSSL

3.4 创建软连接

3.5 修改lib库

 3.6 查看OpenSSL版本

4. OpenSSH升级

4.1 备份原ssh配置文件

4.2 编译安装

4.3 修改配置文件

4.4 重启服务并配置开机自启

4.5 服务验证


1.介绍

本次升级操作系统为CentOS 7.4

OpenSSL 1.0.1k 升级至 OpenSSL 3.0.1

OpenSSH 7.4p1 升级至 OpenSSH 8.8p1

2.准备

2.1 安装包下载

OpenSSL 3.0.1

https://www.openssl.org/source/openssl-3.0.1.tar.gz

OpenSSH 8.8p1,使用官网镜像

阿里云开源镜像站资源目录

2.2 Telnet安装

yum install -y telnet telnet-server  #安装

systemctl start telnet.socket  #启动服务

ss -tnl|grep 23   #验证服务

使用另一台主机测试,连接成功(默认不能使用root用户登陆)

3. OpenSSL升级

3.1 安装依赖包

yum install  -y gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel  pam-devel zlib perl-IPC-Cmd perl-Digest-SHA

3.2 编译安装

tar -zxvf openssl-3.0.1.tar.gz

cd openssl-3.0.1

./config shared zlib enable-fips --prefix=/usr/local/ssl

make && make install

若编译时出现以下报错,参考这篇文章解决

编译OpenSSL时报错https://blog.csdn.net/sd4493091/article/details/122220902

Can't locate IPC/Cmd.pm in @INC (@INC contains: /root/Downloads/openssl-3.0.1/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /root/Downloads/openssl-3.0.1/external/perl/Text-Template-1.56/lib) at /root/Downloads/openssl-3.0.1/util/perl/OpenSSL/config.pm line 18.
BEGIN failed--compilation aborted at /root/Downloads/openssl-3.0.1/util/perl/OpenSSL/config.pm line 18.
Compilation failed in require at /root/Downloads/openssl-3.0.1/Configure line 23.
BEGIN failed--compilation aborted at /root/Downloads/openssl-3.0.1/Configure line 23.

3.3 备份原来的OpenSSL

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl /usr/include/openssl.bak

3.4 创建软连接

因为源码安装默认安装的位置是 /usr/local/ssl 需要将创建软链接到系统位置:

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

执行上述命令前,建议先通过 find / -name openssl 查看一下bin和include对应的openssl安装包的位置,不出意外的话,应该与上面的命令一致。

3.5 修改lib库

echo '/usr/local/ssl/openssl/lib64' > /etc/ld.so.conf.d/openssl.conf

ldconfig

3.6 查看OpenSSL版本

[root@centos7 openssl-3.0.1]# openssl version -a
OpenSSL 3.0.1 14 Dec 2021 (Library: OpenSSL 3.0.1 14 Dec 2021)
built on: Wed Dec 29 07:20:46 2021 UTC
platform: linux-x86_64
options:  bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG
OPENSSLDIR: "/usr/local/ssl/ssl"
ENGINESDIR: "/usr/local/ssl/lib64/engines-3"
MODULESDIR: "/usr/local/ssl/lib64/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0xfdfa32035f8bffff:0x9c67ab

若提示以下错误

[root@centos7 openssl-3.0.1]# openssl version -a
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

通过 find / -name libcrypto.so.3 和 libssl.so.3 查找到对应so文件的位置,并建立软连接

ln -s /usr/local/ssl/lib64/libssl.so.3  /usr/lib/libssl.so.3

ln -s /usr/local/ssl/lib64/libcrypto.so.3  /usr/lib/libcrypto.so.3

ldconfig

4. OpenSSH升级

4.1 备份原ssh配置文件

mv /etc/ssh /etc/ssh.bak

4.2 编译安装

注意:--with-ssl-dir参数指定为新升级的ssl路径

tar -zxf openssh-8.8p1.tar.gz 

cd openssh-8.8p1/

./configure  --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords --mandir=/usr/share/man   --with-zlib  --with-pam --with-ssl-dir=/usr/local/ssl

make && make install

4.3 修改配置文件

根据原ssh配置文件,修改新生成的配置文件/etc/ssh/sshd_config

 从源码包中拷贝一些文件到目标位置(如果目标目录存在就覆盖)

(可能下面的ssh.pam文件都没用到,因为sshd_config配置文件貌似没使用它,请自行测试。我这边是拷贝了)

cp -a contrib/redhat/sshd.init /etc/init.d/sshd

cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

chmod +x /etc/init.d/sshd

4.4 重启服务并配置开机自启

把原先的systemd管理的sshd文件删除或者移走或者删除,不移走的话影响我们重启sshd服务

mv  /usr/lib/systemd/system/sshd.service  /usr/lib/systemd/system/sshd.service.bak

设置开机自启

chkconfig --add sshd

chkconfig sshd on

systemctl enable sshd

重启服务

使用以下命令管理sshd

/etc/init.d/sshd restart

/etc/init.d/sshd stop

/etc/init.d/sshd start

或通过systemctl

systemctl stop sshd

systemctl start sshd

systemctl restart sshd

4.5 服务验证

[root@GZWGQGLYJJC21 openssh-8.8p1]# ssh -V
OpenSSH_8.8p1, OpenSSL 3.0.1 14 Dec 2021

升级完毕!

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值