因爲系統掃描到OpenSSH版本過低,因此須要將其升級到高版本。網上搜羅數個文章,都多多少少有點疏漏。加上本身以前沒升級過SSH,參考好幾個文章查缺補漏才升級成功,着實廢了很多勁兒。因此綜合一下前輩們的文章,作一個詳細的記錄,讓初學者可以按照步驟升級成功。node
本文涉及到的、未涉及到的文件都上傳至CSDN:linux
http://download.csdn.net/detail/w772759313/9359817緩存
你們可自行下載。服務器
=========================================華麗的分割線=========================================session
事前工做:ssh
先將全部安裝文件包傳至/usr/local/src文件夾下。socket
包含SSL和SSh安裝包(源碼)、telnet-server安裝包(rpm)測試
過後工做:加密
刪除無用安裝包;.net
刪除臨時創建的帳戶;
關閉telnet服務。
1、安裝配置TELNET服務
一、先安裝配置telnet,在卸載ssh以後還能夠遠程鏈接服務器
rpm包安裝,不贅述。
配置 vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no --這裏原來是yes,改爲no
}
重啓telnet服務
# service xinetd stop
Stopping xinetd: [ OK ]
# service xinetd start
在此服務器上從新創建一個普通用戶,客戶端利用普通用戶登陸,再換成root用戶。
二、在其餘客戶端上已telnet的方式登陸服務器
# telnet 192.189.200.134 23
Trying 192.189.200.134...
Connected to 192.189.200.134 (192.189.200.134).
Escape character is '^]'.
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel 2.6.18-194.el5 on an x86_64
login: 用戶名
Password: 密碼
telnet進入服務器後,能夠切換到root用戶,進行程序安裝工做。
2、安裝OpenSSL
一、卸載原有SSL
rpm -qa | grep openssl
---------------------
openssl-0.9.8e-12.el5_4.6
openssl097a-0.9.7a-9.el5_2.1
openssl097a-0.9.7a-9.el5_2.1
openssl-devel-0.9.8e-12.el5_4.6
openssl-0.9.8e-12.el5_4.6
openssl-devel-0.9.8e-12.el5_4.6
------------------------------------
#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
二、編譯安裝 OpenSSL
# cd /usr/local/src/
# tar -xzvf openssl-1.0.1j.tar.gz
# cd /usr/local/src/openssl-1.0.1j
# ./config --prefix=/usr/local/openssl -shared (shared命令必須加)
# make
# make test
# make install
make test (進行 SSL 加密協議的完整測試,若是出現錯誤就要必定先找出哪裏的緣由,不然一味繼續,可能最終致使 SSH 不能使用,後果很嚴重的!)
三、配置庫文件搜索路徑
在/etc/ld.so.conf文件的最後面,添加以下內容:
/usr/local/openssl/lib
最終成爲:
include ld.so.conf.d/*.conf
/usr/local/openssl/lib
四、執行ldconfig -v 刷新緩存文件
五、添加OPESSL的環境變量,在/etc/profile的最後一行,添加:
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
六、使配置文件當即生效:
source /etc/profile
七、依次以下執行:
# cd /usr/local
# ldd /usr/local/openssl/bin/openssl
會出現相似以下信息:
linux-vdso.so.1 => (0x00007fff3bc73000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
八、查看路徑
# which openssl
/usr/local/openssl/bin/openssl
九、查看版本
...]# openssl version
OpenSSL 1.0.1j 15 Oct 2014
到此,OpenSSL安裝完畢
3、安裝OpenSSH
一、卸載原有SSH
rpm -qa | grep openssh
----------------------
openssh-server-4.3p2-41.el5
openssh-4.3p2-41.el5
openssh-askpass-4.3p2-41.el5
openssh-clients-4.3p2-41.el5
------------------------
rpm -e `rpm -qa | grep openssh` --allmatches --nodeps
二、升級 OpenSSH
# cd /usr/local/src/
# tar -xzvf openssh-6.7p1.tar.gz
# cd /usr/local/src/openssh-6.7p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords
(注意,若是 configure 時提示 PAM 有錯誤,通常是由於系統中沒有安裝 pam-devel RPM 包,找到安裝光盤,安裝 pam-devel 就能夠解決了,rpm -ivh pam-devel版本號。此問題亦可忽略。)
# make
# make install
三、生成ssh服務管理腳本:
進入ssh解壓目錄
#cd /usr/local/src/openssh-6.7p1/contrib/redhat
#cp sshd.init /etc/init.d/sshd
#chmod +x /etc/init.d/sshd (直接覆蓋,權限會繼承)
#chkconfig --list |grep sshd 檢查ssh服務是否開機啓動,若是沒有,執行下面命令
#chkconfig --add sshd
四、最後,啓動 SSH 服務使修改生效:
# /etc/init.d/sshd restart 或者 service sshd restart
五、重啓後確認一下當前的 OpenSSH 和 OpenSSL 是否爲新版:
# ssh -V
OpenSSH_6.7p1, OpenSSL 1.0.1j 15 Oct 2014