超詳細的openssh升級教程

概述

因前段時間項目要上線,做了入網安評,第三方測試要求做openssh升級,這裡簡單把升級的過程總結如下:

超詳細的openssh升級教程

一、臨時開啟telnet服務,檢查telnet包,沒有則安裝

1、檢查telnet包

#rpm –qa|grep telnet
telnet-0.17-38.el5
telnet-server-0.17-38.el5

2、修改telnet服務配置文件

 vi /etc/xinetd.d/krb5-telnet
修改行 disable = no

3、關閉防火牆或者放通23端口

# service iptables stop

4、配置Telnel允許root登錄,在控制檯/etc/securetty文件中設定

# vim /etc/securetty 
console
vc/1
vc/2
vc/3
tty1
tty2
tty3
tty4
tty5
...
pts/0
pts/1
pts/2
pts/3
pts/4

在文件後面追加"pts/0....pts/n",需要從pts/0開始添加,假如需要登陸的人很多,後面的n就要比較大,否則超過了也將無法登陸。

5、重啟telnet服務

[root@localhost ~]# service xinetd restart
Reloading configuration: [ OK ]

服務啟動完成後,用CRT工具telnet協議進行連接測試

二、上傳軟件包

軟件包下載鏈接:到官網下載對應的版本即可。

openssl-1.0.2k.tar.gz
openssh-7.5p1.tar.gz
zlib-1.2.11.tar.gz

三、升級openssh

1、停止SSHD服務

# /sbin/service sshd stop

2、備份啟動腳本

# cp /etc/init.d/sshd /root/

3、卸載系統裡原有Openssh

# rpm –qa|grep openssh //查詢系統原安裝的openssh包,全部卸載。
# rpm -e openssh --nodeps

# rpm -e openssh-server --nodeps
# rpm -e openssh-clients --nodeps
# rpm -e openssh-askpass

4、解壓安裝zlib包:

# tar -zxvf zlib-1.2.5.tar.gz

首先安裝zlib庫,否則會報zlib.c錯誤無法進行

# cd zlib-1.2.5
# ./configure
# make && make install

5、解壓安裝openssl包:

# tar -zxvf openssl-1.0.1.tar.gz
# cd openssl-1.0.1
# ./config shared zlib
# make && make install
# mv /usr/bin/openssl /usr/bin/openssl.bak
# mv /usr/include/openssl /usr/include/openssl.bak

該步驟可能提示無文件,忽略即可

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

移走原先系統自帶的openssl,將自己編譯產生的新文件進行鏈接。

6、配置庫文件搜索路徑

# echo "/usr/local/ssl/lib/" >> /etc/ld.so.conf
# /sbin/ldconfig -v
# openssl version -a
[root@localhost openssl-1.0.2k]# openssl version -a
OpenSSL 1.0.2k 26 Jan 2017

built on: reproducible build, date unspecified
platform: linux-x86_64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx)
compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/usr/local/ssl"

7、解壓安裝openssh包:

先將將/etc/ssh的文件夾備份:

# mv /etc/ssh /etc/ssh_bak
# tar -zxvf openssh-6.6p1.tar.gz
#./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man
# make && make install

8、啟動服務

# cp -p contrib/redhat/sshd.init /etc/init.d/sshd
# chmod +x /etc/init.d/sshd
# chkconfig --add sshd
# cp sshd_config /etc/ssh/sshd_config (如提示覆蓋,yes回車)
# cp sshd /usr/sbin/sshd (如提示覆蓋,yes回車)

9、驗證是否成功

service sshd restart(重啟sshd服務時注意root無法遠程登錄,需修改/etc/ssh/sshd_config配置文件)
ssh -V //如果看到了新的版本號就沒問題啦!

這裡的openssh升級是基於redhat6系統的,大家做的時候一定要慎重,一定要先在自己虛擬機上測試通過沒問題後,再去生產環境做升級,要不可能系統就崩潰了,不要問我為什麼知道的。

後面會分享更多關於linux運維方面的內容,感興趣的朋友可以關注下!!

超詳細的openssh升級教程


分享到:


相關文章: