linux Centos升级openssl
<p>1. 下载安装wget<br>yum -y install wget</p><p><br>2. 获取openssl源码包<br>wget https://www.openssl.org/source/openssl-1.1.1t.tar.gz<br># 或前往官方下载后使用xftp传入服务器<br># 官方链接:https://www.openssl.org/source/</p>
<p><br>3. 安装openssl 所需依赖<br>yum -y installgcc gcc-c++ openssl-devel libstdc++* libcap* wget pam-devel zlib-devel perl<br><br>4. 解压编译openssl<br># 解压下载好的openssl源码包并进入其目录<br>tar -vxf openssl-1.1.1t.tar.gz</p>
<p> </p>
<p><span style="color: rgba(255, 0, 0, 1); font-size: 18px">第一个方法</span></p>
<p>cd openssl-1.1.1t<br># 配置<br>./config --prefix=/usr/local/openssl threads zlib shared enable-camellia</p>
<p># --prefix : 指定安装目录<br># threads/no-threads : 是否编译支持多线程的库。默认支持。<br># zlib | zlib-dynamic | no-zlib : 使用静态的zlib压缩库 | 使用动态的zlib压缩库 | 不使用zlib压缩功能。<br># shared | no-shared : 是否生成动态连接库。<br># enable-camellia : 算法</p>
<p># 编译安装<br>make && make install</p>
<p>5. 替换旧版openssl<br># 备份旧版openssl<br>mv /usr/bin/openssl /usr/bin/openssl.bak-$(date +%m%d)</p>
<p># 新版openssl软链接到旧openssl位置<br>ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl<br># /etc/ld.so.conf 文件记录了编译时使用的动态链接库的路径,告诉链接器去哪个路径下寻找链接时需要用到的库,如果找不到,就会提示链接错误。<br>echo "/usr/local/openssl/lib">>/etc/ld.so.conf<br># ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库。<br>ldconfig</p>
<p> </p>
<p> </p>
<p><br>6. 查看openssl版本<br>openssl version<br><br>注:<br>安装完openssl后使用 ssh -V 查看依然是旧版openssl, 是因为openssh是rpm/yum安装的调用的openssl依旧是旧版,不影响使用。</p>
<p>如果看不顺眼可以编译升级新版openssh解决。<br><br></p>
<p> </p>
<p><span style="color: rgba(255, 0, 0, 1); font-size: 18pt">第二个方法</span><br>mv openssl-1.1.1t /usr/local/openssl<br># 进入解压后的openssl文件夹</p>
<p>cd /usr/local/openssl<br># 将openssl安装在/usr/local/openssl<br>./config threads zlib shared enable-camellia<br># 编译安装<br>make && make install</p>
<pre class="highlighter-hljs"></pre>
<p>查找一下libssl.so.1.1的位置,然后连接到/usr/lib64/libssl.so.1.1即可。如下我的位置是在/usr/local/lib64/libssl.so.1.1,连接到/usr/lib64/libssl.so.1.1就可以了。</p>
<p># find / -name libssl.so.1.1<br>/usr/local/lib64/libssl.so.1.1<br># ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1<br># ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1<br># openssl version<br>OpenSSL 1.1.1t</p>
<p> </p>
<p> </p>
<p><span style="font-size: 18pt; color: rgba(255, 0, 0, 1)"> 下面是详细版步骤</span></p>
<p>1. 查看Linux 系统版本<br># cat /etc/redhat-release</p>
<p>CentOS Linux release 7.3.1611 (Core)</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150823284-1447181445.png"></p>
<p> </p>
<p> </p>
<p><br>图 1 查看Linux系统版本</p>
<p>2. 查看openssl版本<br># openssl version</p>
<p>OpenSSL 1.0.2k-fips 26 Jan 2017</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150829257-505299941.png"></p>
<p> </p>
<p> </p>
<p><br>图 2 查看openssl版本</p>
<p>3. 查看openssl路径<br># which openssl</p>
<p>/usr/bin/openssl</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150835345-1539981508.png"></p>
<p> </p>
<p> </p>
<p><br>图 3 查看openssl路径</p>
<p>4. 下载Openssl<br>目前最新版本是1.1.1,可以通过修改版本号的方式下载最新版本,最新版本可以在这个网站下载:</p>
<p># wget http://www.openssl.org/source/openssl-1.1.1t.tar.gz</p>
<p>tar -zxvf openssl-1.1.1t.tar.gz</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150841267-1101597774.png"></p>
<p> </p>
<p> </p>
<p><br>图 4 下载openssl-1.1.1t.tar.gz</p>
<p>5. 安装依赖<br># yum install -y zlib</p>
<p># yum install –y zlib-devel</p>
<p># yum install –y gcc</p>
<p>6. 安装Perl<br>6.1. 下载Perl<br>官方网站下载新版本的源码包:</p>
<p>wget https://www.cpan.org/src/5.0/perl-5.36.0.tar.gz</p>
<p># wget https://www.cpan.org/src/5.0/perl-5.37.9.tar.gz</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150848429-931179589.png"></p>
<p> </p>
<p> </p>
<p><br>图 5 下载perl-5.37.9.tar.gz</p>
<p>6.2. 解压Perl<br># tar -zxvf perl-5.37.9.tar.gz</p>
<p>6.3. 建立文件目录,以供安装时使用<br># mkdir /usr/local/perl</p>
<p>6.4. 配置Perl参数<br>进入perl-5.37.9.tar.gz的解压目录,执行:</p>
<p># cd perl-5.37.9</p>
<p># ./Configure -des -Dprefix=/usr/local/perl -Dusethreads –Uversiononly</p>
<p>6.5. 编译<br># make && make install</p>
<p>6.7. 查看版本<br># perl –v</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150854074-444485289.png"></p>
<p> </p>
<p> </p>
<p><br>图 6 查看perl版本</p>
<p>7. 安装Openssl<br>7.1. 解压Openssl<br># cd</p>
<p># tar -zxvf openssl-1.1.1t.tar.gz</p>
<p>7.2. 调用zlib共享库<br># cd openssl-1.1.1t</p>
<p># ./config --prefix=/usr/local/openssl shared zlib</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150901020-1466187496.png"></p>
<p> </p>
<p> </p>
<p><br>图 7 配置openssl</p>
<p>7.3. 编译<br>#make && make install</p>
<p>7.5. 备份当前Openssl</p>
<p># mv /usr/bin/openssl /usr/bin/openssl.bak-$(date +%m%d)</p>
<p># mv /usr/lib64/openssl /usr/lib64/openssl.bak-$(date +%m%d)</p>
<p>7.6. 使用新版Openssl</p>
<p># ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl</p>
<p># ln -s /usr/local/openssl/include/openssl/ /usr/include/openssl</p>
<p>8. 更新动态链接库数据<br># echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf</p>
<p>9. 重新加载动态链接库<br># ldconfig -v</p>
<p>10. 查看安装后最新版本<br># openssl version</p>
<p># openssl version -a</p>
<p><img src="https://img2023.cnblogs.com/blog/2730054/202303/2730054-20230303150908465-1162297785.png"></p>
<p> </p>
<p> </p>
<p><br>图 8 openssl版本查看</p>
<p>11. 可能存在的异常<br>openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory</p>
<p>这是由于openssl库的位置不正确造成的。</p>
<p>解决方法:</p>
<p>在root用户下执行:</p>
<p>ln -sf /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1</p>
<p>ln -sf /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1<br><br></p><br><br>
来源:https://www.cnblogs.com/wjsqqj/p/17129276.html
頁:
[1]