操作环境:Redhat Enterprise Linux 4 Update 5
[root@mytest ~]# uname -a
Linux mytest 2.6.9-55.EL #1 Fri Apr 20 16:35:59 EDT 2007 i686 i686 i386 GNU/Linux
记得当时在安装新版本9.4.0,提示
"It is recommended that you upgrade to OpenSSL version 0.9.8d/0.9.7l (or greater).You can disable this warning by specifying:--disable-openssl-version-check
并且找不到对应系统版本的openssl的rpm包来升级所以当时就直接跳过了版本检测.现在把使用源码升级linux下两大安全组件openssl以及openssh的过程发出来供大家参考!
从站点上下在最新的软件包
[root@mytest src]# rpm -q openssl
openssl-0.9.7a-43.16
[root@mytest src]# rpm -ql openssl 查看原openssl相关文件,把相关信息记录下来.由于是采用源码方式安装,后续需要手动更新部分库文件
===============================================================
[root@mytest src]# ll /lib/libcrypto.so.* //查找原openssl的库文件路径
-rwxr-xr-x 1 root root 824272 Sep 28 2006 /lib/libcrypto.so.0.9.6b
-rwxr-xr-x 1 root root 939336 Jan 12 2007 /lib/libcrypto.so.0.9.7a
lrwxrwxrwx 1 root root 19 Feb 24 16:08 /lib/libcrypto.so.2 -> libcrypto.so.0.9.6b
lrwxrwxrwx 1 root root 19 Feb 24 15:48 /lib/libcrypto.so.4 -> libcrypto.so.0.9.7a
[root@mytest src]# ll /lib/libssl.so.*
-rwxr-xr-x 1 root root 186304 Sep 28 2006 /lib/libssl.so.0.9.6b
-rwxr-xr-x 1 root root 211948 Jan 12 2007 /lib/libssl.so.0.9.7a
lrwxrwxrwx 1 root root 16 Feb 24 16:08 /lib/libssl.so.2 -> libssl.so.0.9.6b
lrwxrwxrwx 1 root root 16 Feb 24 15:48 /lib/libssl.so.4 -> libssl.so.0.9.7a
[root@mytest openssl-0.9.8g]# ll /usr/lib/libcrypto.so
lrwxrwxrwx 1 root root 29 Feb 24 16:05 /usr/lib/libcrypto.so -> ../../lib/libcrypto.so.0.9.7a
[root@mytest openssl-0.9.8g]# ll /usr/lib/libssl.so
lrwxrwxrwx 1 root root 26 Feb 24 16:05 /usr/lib/libssl.so -> ../../lib/libssl.so.0.9.7a
[root@mytest src]# find / -name openssl //查找原openssl相关文件,包括动态连接库文件,可执行文件。
/usr/include/openssl
/usr/bin/openssl
/usr/lib/ruby/1.8/openssl
[root@mytest src]# mv /usr/include/openssl /usr/include/oldssl //移动备份原头文件
[root@mytest src]# mkdir /lib/oldssl
[root@mytest src]# ldd /usr/bin/openssl //先确定原openssl中依赖的库,便于后续的查找,目前暂时未使用到的信息
libssl.so.4 => /lib/libssl.so.0.9.7a
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00d4b000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0098f000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x001df000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00739000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00c9f000)
libcrypto.so.4 => /lib/libcrypto.so.0.9.7a
libdl.so.2 => /lib/libdl.so.2 (0x00852000)
libz.so.1 => /usr/lib/libz.so.1 (0x00e46000)
libc.so.6 => /lib/tls/libc.so.6 (0x003c9000)
/lib/ld-linux.so.2 (0x002b8000)
删除原库文件,准备升级,这里只是移动了做备份并没有直接删除
[root@mytest src]# mv /lib/libcrypto.so.0.9.7a /lib/oldssl/ //这里先要通过下面的rpm -ql openssl 确定openssl染件包
中包含的库文件
[root@mytest src]# mv /lib/libcrypto.so.4 /lib/oldssl/ //这个连接文件可以直接删除,下libssl.so.4同
[root@mytest src]# mv /lib/libssl.so.0.9.7a /lib/oldssl/
[root@mytest src]# mv /lib/libssl.so.4 /lib/oldssl/
[root@mytest src]# ll /usr/bin/openssl
-rwxr-xr-x 1 root root 333416 Jan 12 2007 /usr/bin/openssl
[root@mytest src]# mv /usr/bin/openssl /usr/bin/BAKopenssl
[root@mytest src]# rm -rf /usr/lib/libcrypto.so //原是连接 /usr/lib/libcrypto.so ->
../../lib/libcrypto.so.0.9.7a
[root@mytest src]# rm -rf /usr/lib/libssl.so //原是连接 /usr/lib/libssl.so -> ../../lib/libssl.so.0.9.7a注
意后续要补上
[root@mytest src]# tar xzf openssl-0.9.8g.tar.gz
[root@mytest src]# cd openssl-0.9.8g
[root@mytest openssl-0.9.8g]# ./config shared
[root@mytest openssl-0.9.8g]# make
[root@mytest openssl-0.9.8g]# make test
[root@mytest openssl-0.9.8g]# make install
这样默认安装在/usr/local/ssl/目录
[root@mytest openssl-0.9.8g]# /usr/local/ssl/bin/openssl version
OpenSSL 0.9.8g 19 Oct 2007
[root@mytest openssl-0.9.8g]# cp /usr/local/ssl/bin/openssl /usr/bin
[root@mytest openssl-0.9.8g]# openssl version
OpenSSL 0.9.8g 19 Oct 2007
[root@mytest openssl-0.9.8g]# ldd /usr/bin/openssl
libssl.so.0.9.8 => /usr/local/ssl/lib/libssl.so.0.9.8 (0x0075b000)
libcrypto.so.0.9.8 => /usr/local/ssl/lib/libcrypto.so.0.9.8 (0x009e3000)
libdl.so.2 => /lib/libdl.so.2 (0x006e5000)
libc.so.6 => /lib/tls/libc.so.6 (0x00cdd000)
/lib/ld-linux.so.2 (0x007fe000)
恢复原连接文件到新的库
ln -s /usr/local/ssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so.4
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /lib/libssl.so.4
ln -s /usr/local/ssl/lib/libcrypto.so.0.9.8 /usr/lib/libcrypto.so
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
现在用新的来替代它了。
最后要刷新系统的动态连接库配置
[root@mytest openssl-0.9.8g]# echo /usr/local/ssl/lib >> /etc/ld.so.conf
[root@mytest openssl-0.9.8g]# ldconfig -v
===============================================================
[root@mytest src]# rpm -q zlib //高版本的openssh对zlib库有版本要求,所以要先升级这个
zlib-1.2.1.2-1.2
[root@mytest src]# rpm -ql zlib
/usr/lib/libz.so.1
/usr/lib/libz.so.1.2.1.2
/usr/share/doc/zlib-1.2.1.2
/usr/share/doc/zlib-1.2.1.2/README
[root@mytest src]# ll /usr/lib/libz*
-rwxr-xr-x 1 root root 71716 Jul 12 2005 /usr/lib/libz.a
lrwxrwxrwx 1 root root 15 Feb 24 16:04 /usr/lib/libz.so -> libz.so.1.2.1.2
lrwxrwxrwx 1 root root 15 Feb 24 15:48 /usr/lib/libz.so.1 -> libz.so.1.2.1.2
-rwxr-xr-x 1 root root 62248 Jul 12 2005 /usr/lib/libz.so.1.2.1.2
[root@mytest src]# tar zxf zlib-1.2.3.tar.gz
[root@mytest src]# cd zlib-1.2.3
[root@mytest zlib-1.2.3]# ./configure --prefix=/usr --shared
[root@mytest zlib-1.2.3]# make
[root@mytest zlib-1.2.3]# make check
[root@mytest zlib-1.2.3]# make install
[root@mytest zlib-1.2.3]# rpm -q zlib
zlib-1.2.1.2-1.2
[root@mytest zlib-1.2.3]# ll /usr/lib/libz*
lrwxrwxrwx 1 root root 13 Mar 2 19:48 /usr/lib/libz.so -> libz.so.1.2.3
lrwxrwxrwx 1 root root 13 Mar 2 19:48 /usr/lib/libz.so.1 -> libz.so.1.2.3
-rwxr-xr-x 1 root root 75778 Mar 2 19:48 /usr/lib/libz.so.1.2.3
===============================================================
更新了opesnssl后,openssh会无法正常启动。更新openssh
[root@mytest src]# rpm -ql openssh //同样查看相关文件,以便后续更新
[root@mytest src]# tar xzf openssh-4.7p1.tar.gz
[root@mytest src]# cd openssh-4.7p1
[root@mytest openssh-4.7p1]# ./configure --with-ssl-dir=/usr/local/ssl --with-zlib --with-pam --with-md5-passwords --with-kerberos5
完成后提示信息: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 //启用了PAM,如果需要可以在该目录copy过去直接
使用
[root@mytest openssh-4.7p1]# make
[root@mytest openssh-4.7p1]# make install
完成提示信息:完成安装,生成了密钥对以及安装路径等信息
Generating public/private rsa1 key pair.
Your identification has been saved in /usr/local/etc/ssh_host_key.
Your public key has been saved in /usr/local/etc/ssh_host_key.pub.
The key fingerprint is:
43:66:b6:09:76:51:e7:23:22:c6:45:b5:63:23:94:d3 root@mytest
Generating public/private dsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_dsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_dsa_key.pub.
The key fingerprint is:
5f:2e:4d:a6:67:26:69:47:1b:7b:9e:af:ca:6f:dc:a2 root@mytest
Generating public/private rsa key pair.
Your identification has been saved in /usr/local/etc/ssh_host_rsa_key.
Your public key has been saved in /usr/local/etc/ssh_host_rsa_key.pub.
The key fingerprint is:
04:bb:dc:da:e5:2c:27:c9:1c:6f:a3:ce:7c:fb:45:9b root@mytest
/usr/local/sbin/sshd -t -f /usr/local/etc/sshd_config
[root@mytest openssh-4.7p1]# /usr/local/bin/ssh -V
OpenSSH_4.7p1, OpenSSL 0.9.8g 19 Oct 2007
[root@mytest openssh-4.7p1]# mv /usr/bin/ssh /usr/bin/oldssh
[root@mytest openssh-4.7p1]# cp /usr/local/bin/ssh /usr/bin/
[root@mytest openssh-4.7p1]# ssh -V
OpenSSH_4.7p1, OpenSSL 0.9.8g 19 Oct 2007
版本号看到都已经更新了,在make install最后可以看到提示信息OpenSSH就被安装在/etc/local里面了,所有有关OpenSSH的配置文件都放
在/usr/local/etc目录下,修改配置文件/usr/local/etc/sshd_config
vi /usr/local/etc/sshd_config
把以下参数前面的注释#去掉
Port 22
Protocol 2,1
RhostsRSAAuthentication no
最后修改一下/etc/init.d/sshd 不然不能启动
以下参数是和原来不一样的,主要是路径改变了
#[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
KEYGEN=/usr/local/bin/ssh-keygen
SSHD=/usr/local/sbin/sshd
RSA1_KEY=/usr/local/etc/ssh_host_key
RSA_KEY=/usr/local/etc/ssh_host_rsa_key
DSA_KEY=/usr/local/etc/ssh_host_dsa_key
PID_FILE=/var/run/sshd.pid
[root@mytest openssh-4.7p1]# /etc/init.d/sshd start
启动 sshd[ 确定 ]
确定启动没有问题后重新设置其自动启动,如果是远程更新的话,千万注意不要断开,否则就嘿嘿连接不上了.
[root@mytest openssh-4.7p1]# ll /etc/rc.d/rc3.d/*ssh*
lrwxrwxrwx 1 root root 14 2月 24 15:51 /etc/rc.d/rc3.d/S55sshd -> ../init.d/sshd
[root@mytest openssh-4.7p1]# rm -f /etc/rc.d/rc3.d/S55sshd
[root@mytest openssh-4.7p1]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S55sshd
SSH1 RSA KEY generation FAILED 安装最新版本的openssh就好了,折腾了好久,看README INSTALL,官方站点都找不出来原因,算了,直接安装最新版本,问题解决
当然如果对更新确认没有问题的话可以先用rpm -e --nodeps卸载原系统自带版本的openssl和openssh
其他用源码编译升级的软件也可以参考该方法.
相关推荐
2、首先将脚本和下载的升级包上传到服务器(其中升级包需要上传到/tmp目录),附件中已经提供openssh-8.1p1.tar.gz和openssl-1.1.1d.tar.gz,需要升级至8.2p2的请按照下面的下载地址去官网下载源码包替换即可。...
linux7升级到 openssl3.0.2 openssh8.9.p1 linux7升级到 openssl3.0.2 openssh8.9.p1 linux7升级到 openssl3.0.2 openssh8.9.p1 linux7升级到 openssl3.0.2 openssh8.9.p1 linux7升级到 openssl3.0.2 openssh8.9...
漏扫报告中提示ssl、ssh版本有漏洞,本文档主要介绍在CentOS7中升级openssl、openssh步骤,经亲自测试可用,所有安装包通过网络下载源码,编译安装进行升级。
离线升级OpenSSL和OpenSSH在没有网络的环境中尤为重要,因为这能确保系统的安全性和可用性。遵循上述步骤,并仔细阅读提供的离线更新指南,可以顺利完成升级过程。记住,安全无小事,定期更新和维护是保持系统安全的...
随着技术的发展和漏洞的发现,升级 OpenSSL 及 OpenSSH 已经成为迫在眉睫的任务。本文将详细介绍如何升级 OpenSSL 及 OpenSSH 到最新版本,以确保 Linux 操作系统的安全性。 升级 zlib 在升级 OpenSSL 及 OpenSSH ...
本文档提供了详细的指南,指导读者如何升级OpenSSL和OpenSSH到最新版本,以确保系统的安全性和稳定性。 OpenSSL升级 OpenSSL是一个开源的加密库,提供了各种加密算法和协议的实现。升级OpenSSL可以确保系统的安全...
本文将详细讲解如何在CentOS 7上升级到OpenSSL 3.2.0和OpenSSH 9.6p1这两个最新版本。 首先,我们先了解升级前的准备工作。确保系统已经更新至最新状态,运行`yum update`命令。同时,备份现有的OpenSSL和OpenSSH...
### 升级 OpenSSL 及 OpenSSH ...以上步骤详细介绍了如何在 Linux 系统下升级 OpenSSL 和 OpenSSH,确保系统的安全性得到提升。这些步骤适用于大多数基于 Linux 的发行版,但具体细节可能会根据不同的发行版略有差异。
在IT领域,安全性和更新是至关重要的,尤其是对于OpenSSL和...总之,及时升级OpenSSL和OpenSSH对系统的安全性至关重要。遵循正确的升级流程,并确保系统中的其他组件也保持最新状态,可以有效地保护系统免受潜在威胁。
openssl+openssh离线升级包, openssl 1.0.2s, openssh-8.0, centos7.2
首先,在升级之前,我们需要检查当前系统中OpenSSH和OpenSSL的版本。对于OpenSSH,我们使用命令“ssh -V”来查看,而对于OpenSSL,可以使用命令“openssl version”来查看。在本例中,需要升级的版本为OpenSSH 7.4p1...
本主题涉及的是如何在没有网络连接的情况下,对CentOS7系统进行openssl和openssh的重要版本升级。以下是详细的知识点讲解: **CentOS7**: CentOS是Community ENTerprise Operating System的缩写,是一个基于Linux...
2. **遵循官方指南**:遵循OpenSSH和OpenSSL的官方升级指南,确保按照正确的步骤操作。 3. **测试环境验证**:在生产环境升级前,应在测试环境中进行试验,确认所有功能正常。 4. **更新配置文件**:新版本可能有...
支持升级修复openssl漏洞,支持升级修复openssh漏洞 兼容版本centos6,centos7,centos8 以及腾讯云轻量化os系统 支持版本目前到最新的openssh9.0p1 openssl 1.1.1q 里面也有日常运维的安全加固以及修改端口的配置 ...
首先备份原有库文件在进行卸载升级 cp /usr/bin/openssl /usr/bin/openssl-1.0.2k cp /usr/lib64/libcrypto.so....卸载openssh和openssl,包括openssl-libs 然后解压安装 如有lib库文件异常,使用备份的库文件直接恢复
Linux升级OpenSSL 1.1.1k和OpenSSH 8.6 本文档详细介绍了如何升级Linux系统中的OpenSSL版本到1.1.1k和OpenSSH版本到8.6。升级这些组件可以提高系统的安全性和性能。 首先,需要拷贝并解压缩新的安装包openssl-...
可以使用与升级OpenSSH类似的方法来升级OpenSSL,确保其版本与OpenSSH相匹配。 四、云服务器安全注意事项 1. 在升级前,务必做好数据备份,以防意外情况导致数据丢失。 2. 确保升级过程中服务器对外服务的中断时间...
sudo -dpkg dpkg -i openssh-client_7.2p2-4_amd64.deb sudo -dpkg dpkg -i openssh-sftp-server_7.2p2-4_amd64.deb sudo -dpkg dpkg -i openssh-server_7.2p2-4_amd64.deb sudo -dpkg dpkg -i ssh_7.2p2-4_all....
总结来说,OpenSSH和OpenSSL的升级是保障服务器安全的重要环节。通过及时更新至最新版本,我们可以确保服务器的通信安全,抵御潜在的网络安全威胁。对于Linux服务器管理员而言,熟悉并掌握这两个工具的升级流程和...