CentOS6.5下openssh升級
CentOS6.5下openssh升級
在有的企業中每年都會安全掃描,因為實現遠端連線比較重要,如果openssh版本過低,就要對其升級,本文主要講述openssh升級的步驟。
openssh升級主要有三步:
1. 安裝並啟動dropbear
2. 安裝新版本的openssl
3. 安裝新版本的openssh
如果是生產環境,並且存在備機,建議從備機開始升級,備機升級完了再升級主機。
詳細的過程如下:
一、安裝並啟動dropbear
我之前寫過一篇dropbear的安裝文件,dropbear安裝,裡面有詳細的介紹。安裝dropbear是為了防止在升級openssh的過程中斷掉和伺服器的連線。
如果是生產環境,並且和伺服器相隔很遠,建議開兩個監聽埠,一個用於遠端連線,另外一個用於在其它伺服器上跳轉。
二、安裝新版本的openssl
這裡給出openssl的下載地址: openssl-1.0.2j.tar.gz ,如果是生產環境,請一定要先確認之前執行的服務是否支援最新的ssl連結庫。
安裝的命令如下:
#備份之前的ssh配置及相關檔案 cp -raf /etc/ssh /etc/ssh.old cp -raf /etc/init.d/sshd /etc/init.d/sshd.old cp -raf /root/.ssh/ /root/.ssh.old r_list=`cat /etc/passwd | awk -F ":" '{if($3>=500) print $6}'` for i in $r_list;do cp -raf $i/.ssh/ $i/.ssh.old done #刪掉舊的openssl和openssh yum remove -y openssh rpm -qa | grep openssl | xargs rpm -e –nodeps #安裝openssl tar zxvf openssl-1.0.2j.tar.gz cd openssl-1.0.2j ./config --prefix=/usr/ --shared --openssldir=/etc/ssl --libdir=lib zlib-dynamic make depend && make make MANDIR=/usr/share/man MANSUFFIX=ssl install && install -dv -m755 /usr/share/doc/openssl-1.0.2j && cp -vfr doc/* /usr/share/doc/openssl-1.0.2j #連結一些必要的庫 ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.1.0.0 ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.1.0.0 ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10 ln -s /usr/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10
如果不連結一些必要的庫,有一些程式可能會使用不了,比如yum和mysql,安裝完成之後可以使用openssl version命令檢視版本資訊,如果顯示下面的圖片,表示安裝成功。
三、安裝並重啟openssh
這裡給出openssh的下載地址:openssh-7.3p1.tar.gz
安裝並重啟的命令如下:
tar zxvf openssh-7.3p1.tar.gz cd openssh-7.3p1 #隱藏版本號配置 sed -i '/SSH_VERSION/s/OpenSSH_7.3/Goodbye/g' version.h sed -i '/SSH_PORTABLE/s/p1/./g' version.h echo "/usr/include/openssl/">>/etc/ld.so.conf ldconfig ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-ssl-dir=/usr/local/ssl/ --with-privsep-path=/var/empty/sshd make make install && install -v -m755 contrib/ssh-copy-id /usr/bin && install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1 && install -v -m755 -d /usr/share/doc/openssh-7.3p1 && install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.3p1 #恢復備份 cp -raf /etc/init.d/sshd.old /etc/init.d/sshd mv /etc/ssh/sshd_config /etc/ssh/sshd_config.new cp -raf /etc/ssh.old/sshd_config /etc/ssh/sshd_config
同樣,如果在生產環境下,公司對出網有埠限制,那麼就要先殺死dropbear第一個監聽的埠,把sshd服務配置檔案(/etc/ssh/sshd_config)中的監聽埠改掉,然後重啟sshd服務。
service sshd restart
重啟如果出現下面圖片顯示的內容:
只需要在sshd配置檔案中將相關項註釋掉即可,並不影響使用。
最後將sshd服務設定為開機自啟動。
chkconfig sshd on
最後提醒一下讀者,如果要在生產環境裡升級openssh,一定要在測試環境下面多做幾次,熟悉整個流程,並且本文出示程式碼不能刪減。