一、準備相關的包node
openssh下載地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/linux
openssl相關包下載:http://www.openssl.org/source/算法
pam相關包下載:http://pkgs.org/centos-6/centos-x86_64/shell
zlib包下載: http://zlib.net/centos
首先看一下自身的ssh版本安全
#ssh -V :數據結構
openssh_5.3p1 app
二、安裝zlibssh
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib && make && make installtcp
三、安裝openssl-fips
tar zxvf openssl-fips-2.0.12.tar.gz
cd openssl-fips
./config
make && make install
四、安裝openssl
tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config fips --shared
make && make install
五、將新編譯的openssl library 加入系統動態庫連接中
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig
六、安裝pam,首先卸載舊版本
查看版本信息:rpm -qa|grep pam
卸載舊版本:rpm -e --nodeps pam-1.1.1-17.el6.x86_64
安裝pam:依次安裝
rpm -ivh tcp_wrappers-devel-7.6-57.el6.x86_64.rpm
pam-1.1.1-20.el6_7.1.x86_64.rpm
pam-devel-1.1.1-20.el6_7.1.x86_64.rpm
七、安裝OpenSSH
tar zxvf openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure \
--prefix=/usr \ //安裝路徑
--sysconfdir=/etc/ssh \ //配置文件路徑
--with-md5-passwords \ //一種密鑰,加密算法
--with-pam \ //編譯pam文件
--with-tcp-wrappers \ //編譯tcp—wrappers
--with-ssl-dir=/usr/local/ssl \ //openssl的路徑(配置的時候可能會報錯,根據實際路徑寫)
--with-zlib=/usr/local/zlib \ //編譯zlib
--without-hardening
##配置報錯"OpenSSL headers missing - please install first or check config.log ***"的錯誤,這是缺乏openssl-devel所致,只需安裝openssl-devel便可,執行命令:yum install openssl-devel
此處執行編譯時可能報error: *** zlib.h missing - please install first or check config.log ***"這是因爲缺乏zlib-devel所致,只需安裝zlib-devel便可,執行命令:yum install zlib-devel;
make && make install
八、加入到系統服務,重啓sshd升級成功
chkconfig --add sshd
service sshd restart
從新啓動報錯:關閉selinux便可。
#ssh -V
openssh_7.4p1升級成功
#在升級完OpenSSH和OpenSSL後,SecureCRT沒法SSH登陸,可是Putty等工具能夠正常登陸;是由於 SSH和SSL升級後,取消了原先一些不太安全的加密算法,Clinet不支持新的算法因此沒法交換密鑰;建議要求客戶升級SecureCRT版本至6.5或7.x,或更換最新版的Xshell、Putty等工具,便可正常登陸