天天看點

RedHat 7編譯更新OpenSSL、OpenSSH及NTP

一、系統環境

作業系統:RedHat 7.2

更新前軟體版本:

OpenSSL 1.0.1e-fips、OpenSSH_6.6.1p1、ntpd 4.2.6p5

源碼包:

openssl-1.0.2l.tar.gz、openssh-7.5p1.tar.gz、ntp-4.2.8p10.tar.gz

二、安裝依賴包

1、yum -y install gcc libcap libcap-devel glibc-devel pam-devel  krb5-devel  krb5-libs xinetd telnet-server

三、啟動telnet服務備用

如果是遠端更新,為了防止更新失敗無法遠端,建議先啟動telnet以備用。

1、systemctl start xinetd

2、systemctl start telnet.socket

3、mv /etc/securetty /etc/securettybak

四、編譯安裝zlib

Redhat 6.5可以不做這一步,但RedHat 7.2如果沒先編譯安裝最新版的zlib會導緻openssh編譯時失敗報missing zilb的錯.

1、tar zxf /tmp/zlib-1.2.11.tar.gz -C /tmp

2、cd /tmp/zlib-1.2.11

3、./configure --shared

4、make

5、make install

五、編譯安裝openssl

此處編譯安裝openssl的步驟與redhat 6.5上的基本一緻

1、tar zxf /tmp/openssl-1.0.2l.tar.gz -C /tmp

2、cd /tmp/openssl-1.0.2l

3、./config --prefix=/usr --shared

六、修改ssh私鑰權限為0600

RedHat 6.5上的不用做這一步,但RedHat 7.2如果沒做這一步會導緻更新失敗并報錯,日志會提示預設權限0640太大,是以需先手動改為0600

1、chmod 0600 /etc/ssh/ssh_host_ed25519_key

2、chmod 0600 /etc/ssh/ssh_host_ecdsa_key

3、chmod 0600 /etc/ssh/ssh_host_rsa_key

七、解壓openssh并複制sshd.init和sshd.pam檔案

RedHat 6.5上的不用做這一步,但RedHat 7.2如果沒做這一步,會導緻更新完成後可以ssh連接配接但是無法用密碼登入

1、tar zxf /tmp/openssh-7.5p1.tar.gz -C /tmp

2、cd /tmp/openssh-7.5p1/contrib/redhat

3、cp sshd.init /etc/init.d/sshd

4、cp sshd.pam /etc/pam.d/sshd.pam

八、編譯安裝openssh

此處編譯安裝openssh的步驟與redhat 6.5的基本一緻

1、cd /tmp/openssh-7.5p1

2、./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-ssl-dir=/usr --with-md5-passwords --mandir=/usr/share/man --with-kerberos5=/usr/lib64/libkrb5.so

3、make

4、make install

5、echo "PermitRootLogin yes">>/etc/ssh/sshd_config

6、echo "Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc">>/etc/ssh/sshd_config

7、systemctl restart sshd

九、編譯安裝ntp

此處編譯安裝ntp的步驟與redhat 6.5上的基本一緻

1、tar zxf /tmp/ntp-4.2.8p10.tar.gz -C /tmp

2、/tmp/ntp-4.2.8p10/configure --prefix=/usr --bindir=/usr/sbin --sysconfdir=/etc --enable-linuxcaps --with-lineeditlibs=readline  --enable-all-clocks --enable-parse-clocks --enable-clockctl

6、chkconfig ntpd on

檢查與測試

1、使用ssh -V、ntpd --version檢查版本,已是最新版

<a href="https://s1.51cto.com/wyfs02/M01/9C/FF/wKiom1l4lwDBGG0UAABgG2cP2VU741.png" target="_blank"></a>

2、用戶端使用ssh遠端登入測試,能正常連接配接登入

十、停用telnet

1、systemctl stop telnet.socket

2、systemctl stop xinetd

3、mv /etc/securettybak /etc/securetty

本文轉自Mr大表哥jianlong1990 部落格,原文連結:http://blog.51cto.com/jiangjianlong/1951590       如需轉載請自行聯系原作者