天天看點

openssl、openssh更新

    openssl、openssh版本更新

注意:一定要先安裝 gcc* make perl pam pam-devel zlib zlib-devel  openssl-devel這幾個包

1.先可以用rpm -qa|grep 包名,檢視需安裝的包是否存在

2.不存在的話,就使用yum安裝所需的包,安裝過程如下圖所示:

<a href="http://s3.51cto.com/wyfs02/M00/74/C1/wKiom1YoZ5fDPj4aAABPgPJk3-E745.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M00/74/BE/wKioL1YoZ8Ow4pKPAAidCNH4Zik077.jpg" target="_blank"></a>

3.安裝openssl

    先檢視原系統的openssl、openssh版本

 看到的版本是5.3和1.0.1e的版本。

3.1安裝openssl 

cd /usr/local/src 

tar zxvf openssl-1.0.2d.tar.gz 

cd openssl-1.0.2d 

./config shared zlib 

make  

make test 

make install

mv /usr/bin/openssl/usr/bin/openssl.OFF 

mv /usr/include/openssl /usr/include/openssl.OFF 

cd /usr/local/ssl/bin#進入新安裝的ssl的bin目錄

cp openssl /usr/bin/#把新的openssl執行檔案放到/usr/bin/目錄下,或者做軟連結也可以

cd /usr/local/ssl/lib

cp libssl.so.1.0.0 libcrypto.so.1.0.0 /usr/lib64#把這兩個新的庫檔案放到庫目錄裡

cd /usr/local/ssl/include#進入新安裝的ssl的頭檔案目錄

cp -r openssl /usr/include#把openssl的頭檔案放到系統的頭檔案目錄

cd /usr/lib64#進入64為系統使用者庫目錄

mkdir openssl#建立一個openssl的目錄

cd /usr/local/ssl/lib#進入新安裝的ssl的庫目錄

cp -r engines /usr/lib64/openssl#把engines目錄下的幾個檔案,放到庫檔案裡

engines裡一般有下面幾個檔案

lib4758cca.so libaep.so libatalla.so libcapi.so libchil.so libcswift.so libgmp.so libnuron.so libpadlock.so libsureware.so libubsec.so

cd /usr/local/ssl/lib/pkgconfig

cp * /usr/lib64/pkgconfig

cp libcrypto.a libssl.a /usr/lib64

注意:本來可能有系統自帶的軟連結要先删除,庫檔案也可以打成bak删除或者挪到其它位置

rm -rf libssl.so

rm -rf libssl.so.10

rm -rf libcrypto.so

rm -rf libcrypto.so.10

rm -rf libssl.so.1.0.1e#也可以打成bak、删除或者挪到其它地方

rm -rf libcrypto.so.1.0.1e#也可以打成bak、删除或者挪到其它地方

ln -s libssl.so.1.0.0 libssl.so.10#做軟連結

ln -s libssl.so.1.0.0 libssl.so#做軟連結

ln -s libcrypto.so.1.0.0 libcrypto.so#做軟連結

ln -s libcrypto.so.1.0.0 libcrypto.so.10#做軟連結

下面執行yum應該不會報錯。

3.2  配置庫檔案搜尋路徑 

#echo "/usr/local/ssl/lib" &gt;&gt; /etc/ld.so.conf 

#ldconfig #加載庫配置

3.3  檢視openssl的版本号,以驗正是否安裝正确

openssl version -a

OpenSSL 1.0.2d 9 Jul 2015

openssl更新成功

3.4 更改openssl man路徑

vim /etc/man.config

MANPATH /usr/local/ssl/man

使用man openssl可以查詢openssl的一些使用指令。 

4.更新openssh

service sshd stop#停止後遠端的連結也不會停止,建議先安裝telnet,用telnet連接配接遠端伺服器進行更新。

4.1 先rpm -qa|grep openssh

檢視原系統安裝的openssh

rpm -qa|grep openssh

openssh-clients-5.3p1-104.el6.x86_64

openssh-server-5.3p1-104.el6.x86_64

openssh-5.3p1-104.el6.x86_64

然後rpm -e #删除原系統所帶的包

rpm -e openssh-clients-5.3p1-104.el6.x86_64 openssh-server-5.3p1-104.el6.x86_64 openssh-5.3p1-104.el6.x86_64 --nodeps

cd /etc/ssh

rm -rf *

rm -rf /usr/bin/ssh

rm -rf /usr/sbin/sshd

4.2 安裝新版本的openssh

tar zxvf openssh-6.9p1.tar.gz

cd openssh-6.9p1 

./configure --prefix=/usr/local/ssh --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man

make install 

4.3 把安裝好的bin目錄和sbin目錄下的所有可執行的程式,放到/usr/bin和相應的/usr/sbin下

cp /usr/local/ssh/bin/*  /usr/bin/ 

cp /usr/local/ssh/sbin/*  /usr/sbin/

4.3 檢視openssh版本号,驗證安裝結果

 ssh  -V

OpenSSH_6.9p1, OpenSSL 1.0.2d 9 Jul 2015

4.4 複制啟動腳本,并把服務加入開機啟動

cp /usr/local/src/openssh-6.9p1/contrib/redhat/sshd.init /etc/init.d/sshd

chkconfig --add sshd

chkconfig sshd on

4.5 先測試一下

/usr/sbin/sshd -d

[root@localhost ~]# /usr/sbin/sshd -d

debug1: sshd version OpenSSH_6.9, OpenSSL 1.0.2d 9 Jul 2015

debug1: private host key #0: ssh-rsa SHA256:7CpPmQZrP3JnzpWl8/jAczoeXNsGPomjv/qwp4jnGyk

debug1: private host key #1: ssh-dss SHA256:yTMfo6c1LpnsvGGZ/CqZehmJhmZlEMGkArM9y+PctWQ

debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:ksS9x368FlxVHoUYjU3D2UBixHnGlGpl0z3s2pUJ/W8

debug1: private host key #3: ssh-ed25519 SHA256:C62mZ/b9WturYDL3uR08A94JPuBvCF6nrSNkEDZusA0

4.6  啟動服務

service sshd start

注意:機器遠端更新ssh,啟動sshd,用start或reload。不要restart,restart 會直接斷開連接配接,而并不會接着啟動sshd服務,這時候要通過其他途徑進入機器,然後啟動sshd服務才行

4.7  檢視監聽端口中是否有22 

#netstat -tnlp | grep :22 [root@localhost ~]# netstat -tunlp|grep :22

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      354/sshd            

tcp        0      0 :::22                       :::*                        LISTEN      354/sshd   

4.8 檢視更新後的版本

<a href="http://s3.51cto.com/wyfs02/M00/74/C3/wKiom1YoeBWQCKNrAABDIVoIEu0919.jpg" target="_blank"></a>

4.9 嘗試從本機通過ssh登入

The authenticity of host 'localhost (::1)' can't be established.

ECDSA key fingerprint is SHA256:ksS9x368FlxVHoUYjU3D2UBixHnGlGpl0z3s2pUJ/W8.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

Permission denied, please try again.

Last login: Tue Oct 13 14:32:21 2015 from 1.1.1.18

Login success. All activity will be monitored and reported 

5.0 更新成功!

本文轉自伺服器運維部落格51CTO部落格,原文連結http://blog.51cto.com/shamereedwine/1705218如需轉載請自行聯系原作者

neijiade10000