上篇分享了RedHat 6.5編譯安裝升級OpenSSL、OpenSSH及NTP的博文,這篇來測試一下RedHat 7.2編譯安裝升級OpenSSL、OpenSSH及NTP,主要過程基本一致,不過openssh略有不同。上篇博文請見:RedHat 6編譯升級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
4、make
5、make install
六、修改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
4、make
5、make install
6、chkconfig ntpd on
檢查與測試
1、使用ssh -V、ntpd --version檢查版本,已是最新版
2、客戶端使用ssh遠程登錄測試,能正常連接登錄
十、停用telnet
1、systemctl stop telnet.socket
2、systemctl stop xinetd
3、mv /etc/securettybak /etc/securetty
至此,升級完成。本文出自江健龍的技術博客http://jiangjianlong.blog.51cto.com/3735273/1951590