暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

记一次| oepnssl 升级

chkl 2024-02-29
555

OpenSSL 是一个开源的软件套件,它可以为应用程序提供安全通信的功能,例如加密、解密、数字签名、证书管理等。OpenSSL 在互联网上广泛使用,例如 HTTPS、SSH、VPN、电子邮件等协议都依赖于 OpenSSL 来保护数据的机密性和完整性。

查看centos7默认的openssl版本

[root@cent7z ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
[root@cent7z ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
[root@cent7z ~]# which openssl
/usr/bin/openssl
复制

编译安装openssl1.1.1

1、依赖下载

yum install -y perl-IPC-Cmd
yum install -y zlib zlib-devel openssl-devel sqlite-devel bzip2-devel libffi libffi-devel gcc gcc-c++
复制

2、备份

[root@cent7z ~]# mkdir openssl_bak
[root@cent7z ~]# cp /usr/bin/openssl openssl_bak/openssl_bak      
[root@cent7z ~]# cp -a  /usr/include/openssl  openssl_bak/
复制

3、openssl1.1.1tar包下载、解压、编译安装

[root@cent7z opt]# wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz --no-check-certificate
--2024-02-28 03:52:59--  https://www.openssl.org/source/openssl-1.1.1w.tar.gz
Resolving www.openssl.org (www.openssl.org)... 34.36.58.177, 2600:1901:0:1812::
Connecting to www.openssl.org (www.openssl.org)|34.36.58.177|:443... connected.
WARNING: cannot verify www.openssl.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 9893384 (9.4M) [application/x-tar]
Saving to: ‘openssl-1.1.1w.tar.gz’

100%[============================================================================================>] 9,893,384   3.14MB/s   in 3.0s   

2024-02-28 03:53:03 (3.14 MB/s) - ‘openssl-1.1.1w.tar.gz’ saved [9893384/9893384]
[root@cent7z openssl-1.1.1w]# ./config  --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1w (0x1010117fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
[root@cent7z openssl-1.1.1w]# make 

/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
    "-oMakefile" util/shlib_wrap.sh.in > "util/shlib_wrap.sh"
chmod a+x util/shlib_wrap.sh
make[1]: Leaving directory `/opt/openssl-1.1.1w'
[root@cent7z openssl-1.1.1w]# make  install

/usr/local/openssl/share/doc/openssl/html/man7/scrypt.html
/usr/local/openssl/share/doc/openssl/html/man7/ssl.html
/usr/local/openssl/share/doc/openssl/html/man7/x509.html
[root@cent7z openssl-1.1.1w]# mv  /usr/bin/openssl /usr/bin/openssl_bak
[root@cent7z openssl-1.1.1w]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
复制

#如果不加prefix ,openssl的默认路径如下
Bin: /usr/local/bin/openssl
include库 :/usr/local/include/openssl
lib库:/usr/local/lib64/
engine库:/usr/lib64/openssl/engines

4、 测试

[root@cent7z openssl-1.1.1w]# openssl version
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
#添加lib目录
[root@cent7z openssl-1.1.1w]# ./config  --prefix=/usr/local/openssl --openssldir=/usr/local/openssl --libdir=/usr/lib64

[root@cent7z openssl-1.1.1w]# openssl version
OpenSSL 1.1.1w  11 Sep 2023
[root@cent7z openssl-1.1.1w]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

复制

5、升级openssh

## 备份
[root@cent7z opt]# cp -r /etc/ssh /etc/ssh_bak
[root@cent7z opt]# ls /etc/ssh*
/etc/ssh:
moduli      sshd_config         ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub
ssh_config  ssh_host_ecdsa_key  ssh_host_ed25519_key    ssh_host_rsa_key

/etc/ssh_bak:
moduli      sshd_config         ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub
ssh_config  ssh_host_ecdsa_key  ssh_host_ed25519_key    ssh_host_rsa_key
[root@cent7z opt]# cp -a /usr/sbin/sshd /usr/sbin/ssd_bak
[root@cent7z opt]# cp -a /usr/bin/ssh /usr/bin/ssh_bak
[root@cent7z opt]# cp  -r /etc/pam.d/sshd /etc/pam.d/sshd_bak
#解压安装### 三级标题
[root@cent7z opt]# tar zxvf /u01/soft/openssh-9.5p1.tar.gz 
[root@cent7z ~]# yum remove openssh
[root@cent7z opt]# cd openssh-9.5p1.tar.gz 
[root@cent7z openssh-9.5p1]#  ./configure --prefix=/usr --sysconfdir=/etc/ssh  --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl  --with-privsep-path=/var/lib/sshd
checking for crypt in -lcrypt... yes
checking for crypt... yes
configure: error: PAM headers not found
[root@cent7z openssh-9.5p1]# yum install pam-devel -y
[root@cent7z openssh-9.5p1]#  ./configure --prefix=/usr --sysconfdir=/etc/ssh  --with-pam --with-zlib --with-ssl-dir=/usr/local/openssl  --with-privsep-path=/var/lib/sshd

PAM is enabled. You may need to install a PAM control file 
for sshd, otherwise password authentication may fail. 
Example PAM control files can be found in the contrib/ 
subdirectory
[root@cent7z openssh-9.5p1]#  make && make install
[root@cent7z openssh-9.5p1]# ls /etc/pam.d/sshd_bak 
/etc/pam.d/sshd_bak
[root@cent7z openssh-9.5p1]# cp /etc/pam.d/sshd_bak /etc/pam.d/sshd
[root@cent7z openssh-9.5p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
[root@cent7z openssh-9.5p1]# chkconfig --add sshd
[root@cent7z openssh-9.5p1]# systemctl  status sshd
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)

Feb 28 21:20:54 cent7z systemd[1]: Failed to start OpenSSH server daemon.
Feb 28 21:20:54 cent7z systemd[1]: Unit sshd.service entered failed state.
Feb 28 21:20:54 cent7z systemd[1]: sshd.service failed.
Feb 28 21:21:37 cent7z systemd[1]: sshd.service holdoff time over, scheduling restart.
Feb 28 21:21:37 cent7z systemd[1]: Stopped OpenSSH server daemon.
Feb 28 21:21:37 cent7z systemd[1]: Starting OpenSSH server daemon...
Feb 28 21:21:37 cent7z sshd[17211]: Server listening on 0.0.0.0 port 22.
Feb 28 21:21:37 cent7z sshd[17211]: Server listening on :: port 22.
Feb 28 21:22:32 cent7z sshd[17211]: Received signal 15; terminating.
Feb 28 21:22:32 cent7z systemd[1]: Stopped OpenSSH server daemon.
[root@cent7z openssh-9.5p1]# systemctl  start sshd
[root@cent7z openssh-9.5p1]# systemctl  status sshd
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled)
   Active: active (running) since Wed 2024-02-28 21:31:20 EST; 1s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 26136 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=0/SUCCESS)
 Main PID: 26144 (sshd)
    Tasks: 1
   CGroup: /system.slice/sshd.service
           └─26144 sshd: /usr/sbin/sshd [listener] 0 of 10-100 startups

Feb 28 21:31:20 cent7z systemd[1]: Starting SYSV: OpenSSH server daemon...
Feb 28 21:31:20 cent7z sshd[26144]: Server listening on 0.0.0.0 port 22.
Feb 28 21:31:20 cent7z sshd[26144]: Server listening on :: port 22.
Feb 28 21:31:20 cent7z sshd[26136]: Starting sshd:[  OK  ]
Feb 28 21:31:20 cent7z systemd[1]: Started SYSV: OpenSSH server daemon.
[root@cent7z openssh-9.5p1]# vim /etc/ssh/sshd_config
PermitRootLogin yes
UsePAM yes

[root@cent7z openssh-9.5p1]# systemctl restart sshd
[root@cent7z openssh-9.5p1]# ssh -V
OpenSSH_9.5p1, OpenSSL 1.1.1w  11 Sep 2023

复制

6、升级openssh前安装telnet-serve服务以防万一

yum install telnet* -y
systemctl  start telnet.socket
systemctl enable telnet.socket
# 默认root不支持登录,修改以下文件使root可telnet登录。
mv /etc/securetty /etc/securetty.bak
复制
最后修改时间:2024-02-29 11:07:12
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 查看centos7默认的openssl版本
  • 编译安装openssl1.1.1
  • 1、依赖下载
  • 2、备份
  • 3、openssl1.1.1tar包下载、解压、编译安装
  • 4、 测试
  • 5、升级openssh
  • 6、升级openssh前安装telnet-serve服务以防万一