操作环境: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
其他用源码编译升级的软件也可以参考该方法.
相关推荐
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...
2、首先将脚本和下载的升级包上传到服务器(其中升级包需要上传到/tmp目录),附件中已经提供openssh-8.1p1.tar.gz和openssl-1.1.1d.tar.gz,需要升级至8.2p2的请按照下面的下载地址去官网下载源码包替换即可。...
漏扫报告中提示ssl、ssh版本有漏洞,本文档主要介绍在CentOS7中升级openssl、openssh步骤,经亲自测试可用,所有安装包通过网络下载源码,编译安装进行升级。
openssh升级的openssl和openssh8.8
openssl+openssh离线升级包, openssl 1.0.2s, openssh-8.0, centos7.2
介绍如何在Linux系统下升级openssl及openssh
openssl+openssh离线升级包, openssl 1.0.2s, openssh-8.0, centos7.2
openssl/openssh升级 openssl 升级到1.0.2l,openssh升级到7.5p
支持升级修复openssl漏洞,支持升级修复openssh漏洞 兼容版本centos6,centos7,centos8 以及腾讯云轻量化os系统 支持版本目前到最新的openssh9.0p1 openssl 1.1.1q 里面也有日常运维的安全加固以及修改端口的配置 ...
1、同时升级openssh与openssl,采用rpm包形式,一键快速升级版本,无需每台单独再次进行编译, 2、隐藏openssh-版本号 3、保留scp与ssh-copy-id命令 注意:centos7.x版本默认openssl版本使用1.1.1x版本,请勿指定...
Centos7升级openssl-3.2.0和openssh-9.6p1笔记和软件 包括详细步骤和软件openssl-3.2.0和openssh-9.6p1,这应该是目前为准最新的版本。
适用于centos x86 系统 里面包含源码文件、rpm包和操作过程命令。 rpm包需要升级openssl,openssh才能正常启动。
centos7 下编译安装升级openssl及openssh,亲测笔记。如环境有区别请自行修改部分自定义设置。升级软件版本 :openssl-1.1.1g openssh-8.3p1
centos OpenSSH升级OpenSSH_8.8p1 OpenSSL 1.1.1l(ssh.tar) mv ssh.tar /tmp &&cd /tmp tar -zxvf ssh.tar cd sshupdate/ sh sshupdate.sh 需连外网!!升级后需使用CRT连接,ssh升级后scp不可用!! 谨慎升级,仅...
linux操作系统CentOS 7 国内yum源更新 openssh-8.2p1以及openssl-1.1.1d最新版本升级
首先备份原有库文件在进行卸载升级 cp /usr/bin/openssl /usr/bin/openssl-1.0.2k cp /usr/lib64/libcrypto.so....卸载openssh和openssl,包括openssl-libs 然后解压安装 如有lib库文件异常,使用备份的库文件直接恢复
个人整理并测试通过,亲测RHEL4.6,RHEL5.3,RHEL6.4,Centos6.5已成功将openssh升级到openssh6.7p1最新版,将Openssl升级到openssl1.0.1j,理论上大版本一致均可以升级,有效防止heartbleed漏洞攻击,文档中有执行...
包含openssh8.3p1.tar.gz openssh8.9p1.tar.gz openssl-1.1.1g.tar.gz
openssl1.1.1k和openssh8.6
centos7 离线升级 openssh9.4 包含升级脚本