答案1
解决了。
问题是,如果您安装非 Ubuntu 版本的 openssl(未打补丁),您会收到“加载共享库时出错”的错误,因为这是 Ubuntu 开发人员添加到其发行版中的东西(我仍然不知道为什么,而且毫无意义,而且会带来很多麻烦)。来源:https://askubuntu.com/a/830532/676863
因此,如果你编译了官方版本,那么你大多会遇到这种情况https://www.openssl.org/source/例如 openssl-1.0.2m.tar.gz 版本。而官方 Ubuntu 补丁版本(根据 Freenode 上 #ubuntu 的人们的说法,补丁已达数百万次)仍然是 openssl-1.0.2g,您需要对其进行修补、编译和安装才能使其正常工作。
解决方案(编辑自https://stackoverflow.com/a/22634441/3108268):
- 我用过这个版本https://launchpad.net/ubuntu/+source/openssl/1.0.2g-1ubuntu13因为它是最新的。
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g.orig.tar.gz
(可能需要添加--no-check-certificate
)tar -xvf openssl_1.0.2g.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.2g-1ubuntu13.debian.tar.xz
tar -xvf openssl_1.0.2g-1ubuntu13.debian.tar.xz
和mv debian openssl_1.0.2g-1ubuntu13
whereis openssl
找到当前的 openssl 并删除/移除/备份它。cd openssl_1.0.2g/
和patch -p1 < ../openssl_1.0.2g-1ubuntu13/patches/version-script.patch
make clean
和./config shared --prefix=/usr/local --openssldir=/usr/local/ssl -Wl,--enable-new-dtags,-rpath,'$(LIBRPATH)'
(或者也许你只是需要简单的.config
,对我来说不起作用)make
和make test
和make install
openssl version
我还需要能够reboot
通过 SSH 重新连接。所有这些命令都是通过云服务器上的 Web 控制台执行的。下载的文件目录名称可能不同,我没有检查,所以检查一下ls -l
。