openssl编译完成后,使用sudo su提示如上命令,并且SSH无法连接。

centos8,openssl默认为1.1.1b,编译安装的为1.1.1k

原因如下:

https://blog.csdn.net/qq_36428903/article/details/114025840

这个问题的原因是,redhat8自己开发了一套函数,会打包在自己的libopenssl rpm包里,有些redhat提供的应用使用到这些函数;
在official的openssl源代码里没有这些函数;
所以如果是用redhat提供的openssl 最好不要自己build openssl
 

问题解决过程:

1.一开始思路,重新安装openssl1.1.b。发现DNF无法使用,提示:

librpmio.so.8: undefined symbol: EVP_md2, version OPENSSL_1_1_1b

2.然后各种百度,找不到解决问题,忽然在github发现答案,改变了我的解决思路

https://github.com/openssl/openssl/issues/11227

3.make unistall 再次执行dnf list ,报错更改提示找不到文件

[root@test-instance ~]# dnf list
/usr/libexec/platform-python: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

使用sudo su报错也改变,找不到ibcrypto.so.1.1文件,继续百度。。

user@test-instance ~]$ sudo su
sudo: error in /etc/sudo.conf, line 19 while loading plugin "sudoers_policy"
sudo: unable to load /usr/libexec/sudo/sudoers.so: libssl.so.1.1: cannot open shared object file: No such file or directory
sudo: fatal error, unable to load plugins

4.查找,发现在openssl下有编译好的ibcrypto.so.1.1

[root@test-instance /]# find . -name 'libcrypto.so.1.1'
./root/openssl-1.1.1b/libcrypto.so.1.1

5.复制ibcrypto.so.1.1到目录试试,做好软连接后,提示依旧和标题一样,提示要VP_KDF_ctrl, version OPENSSL_1_1_1b #1127

6.下载ibcrypto.so.1.1,解压依旧报错libcrypto.so.1.1: cannot open shared object file: No such file or directory

[root@test-instance ~]# wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/openssl-libs-1.1.1g-15.el8_3.x86_64.rpm

[root@test-instance ~]# rpm2cpio openssl-libs-1.1.1g-15.el8_3.x86_64.rpm 
rpm2cpio: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

7.因为openssl,SSL也无办法连接,XFTP也没办法用,FTP也无法创建连接,导致文件ibcrypto.so.1.1无法上传至服务器。

 

8.继思考摩,只要把libcrypto.so.1.1复制到对应的/usr/lib64目录里,做好软件链接应该可以。先通过windows使用7-ZIP把openssl-libs-1.1.1g-15.el8_3.x86_64.rpm,解压出来,找到里面的文件。

 

9 找个有网站的朋友,把解压好的文件上传到文件目录或者FTP目录下。使用curl下载。报错

10 使用wget下载,正常,依次下载完成8里的文件.

10 复制lib文件到/usr/lib64

[root@test-instance lib64]# cp -f /root/lib/* ./
cp: overwrite './libcrypto.so.1.1'? y
cp: overwrite './libcrypto.so.1.1.1g'? y
cp: overwrite './libssl.so.1.1'? y
cp: overwrite './libssl.so.1.1.1g'? y

11.依次做好软连接,做完以后记得使用ldconfig刷新一下

[root@test-instance lib64]# ln -s libcrypto.so.1.1.1g libcrypto.so.1.1
# 提示失败软连接存在,删除掉即可
ln: failed to create symbolic link 'libcrypto.so.1.1': File exists
[root@test-instance lib64]# rm libcrypto.so.1.1
rm: remove regular file 'libcrypto.so.1.1'? y

[root@test-instance lib64]# ln -s libcrypto.so.1.1.1g libcrypto.so.1.1
[root@test-instance lib64]# ln -s libcrypto.so.1.1.1g libcrypto.so

[root@test-instance lib64]# ln -s libcrypt.so.1.1.0 libcrypt.so.1
ln: failed to create symbolic link 'libcrypt.so.1': File exists
[root@test-instance lib64]# rm libcrypt.so.1
rm: remove symbolic link 'libcrypt.so.1'? y

[root@test-instance lib64]# ln -s libcrypt.so.1.1.0 libcrypt.so.1
[root@test-instance lib64]# ln -s libcrypt.so.1.1.0 libcrypt.so
ln: failed to create symbolic link 'libcrypt.so': File exists
[root@test-instance lib64]# rm libcrypt.so
rm: remove symbolic link 'libcrypt.so'? y
[root@test-instance lib64]# ln -s libcrypt.so.1.1.0 libcrypt.so
[root@test-instance lib64]# ldconfig

12.测试,使用dnf,curl,sudo su正常返回信息

[root@test-instance ~]# dnf --version
4.2.23
  Installed: dnf-0:4.2.23-4.el8.noarch at Tue 20 Apr 2021 08:35:59 AM GMT
  Built    : CentOS Buildsys <bugs@centos.org> at Tue 04 Aug 2020 06:52:03 PM GMT

  Installed: rpm-0:4.14.3-4.el8.x86_64 at Tue 20 Apr 2021 08:33:40 AM GMT
  Built    : CentOS Buildsys <bugs@centos.org> at Tue 21 Jul 2020 05:36:08 PM GMT
[root@test-instance ~]# curl --version
curl 7.61.1 (x86_64-redhat-linux-gnu) libcurl/7.61.1 OpenSSL/1.1.1g zlib/1.2.11 brotli/1.0.6 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.2.0) libssh/0.9.4/openssl/zlib nghttp2/1.33.0
Release-Date: 2018-09-05
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz brotli TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL Metalink 

[root@test-instance ~]# openssl -version a
bash: /bin/openssl: No such file or directory

13 使用XFTP连接正常

问题解决

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐