近期公司应用需要用到https协议;Centos6.5自带的的openssl 1.0.1e版本存在名为“心脏出血”的漏洞.


环境:CentOS6.5_x86_64


准备相关的包
openssh下载地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/
openssl相关包下载:http://www.openssl.org/source/
pam相关包下载:http://pkgs.org/centos-6/centos-x86_64/
zlib包下载: http://zlib.net/


1、升级zlib
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure

echo $?

make && make install


2、更新pam的rpm包。不然configure openssh的时候会报错
yum install pam-1.1.1-13.el6.x86_64.rpm pam-devel-1.1.1-13.el6.x86_64.rpm


注意:以下安装时,请务必再开一个SSH窗口连接所需要升级的服务器,避免ssh升级失败后,无法连接服务器。


3、编译安装openssl
tar zxvf openssl-1.0.2j.tar.gz
cd openssl-1.0.2j

./config --prefix=/usr/ --openssldir=/usr/  shared
make && make install

====以下6行不操作,有些文章说明要做这些操作,但是我升级的时候没有这个。
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v

 

查看openssl版本。openssl version显示OpenSSL 1.0.2j  26 Sep 2016。

 

4、编译安装openssh
tar zxvf  openssh-7.3p1.tar.gz

cd  openssh-7.3p1

./configure --with-zlib --with-ssl-dir --with-pam --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh

如果提示configure: error: PAM headers not found,可能是第2步没执行,需要安装pam-devel。

make && make install    //完成后查看ssh版本。ssh -V查看

[root@master ~]# ssh -V
OpenSSH_7.3p1, OpenSSL 1.0.2j  26 Sep 2016


5、重启ssh服务。
service sshd restart



参考文章

http://zjwsk.blog.163.com/blog/static/598306132014313112351/

http://www.cnblogs.com/xiegj/p/5669800.html