centos升級ssh7.4

一、安裝編譯工具包
yum  install gcc pam-devel zlib-devel -y

二、安裝zlib
tar -xf zlib-1.2.11.tar.gz
cd zlib-1.2.11
編譯:
./configure --prefix=/usr
make
卸載:
rpm -e --nodeps zlib
make install
共享庫文件註冊到系統:
echo ‘/usr/lib‘ >> /etc/ld.so.conf
ldconfig

三、升級openssl
備份當前openssl:

mv /usr/lib64/openssl/ /usr/lib64/openssl.old
mv /usr/bin/openssl /usr/bin/openssl.old
mv /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old

如下兩個庫文件必須先備份,因系統內部分工具(如yum、wget等)依賴此庫,而新版OpenSSL不包含這兩個庫:

cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old
cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old

卸載當前openssl:

rpm -qa |grep openssl|xargs -i rpm -e --nodeps {}

安裝openssl:

tar -xf openssl-1.0.2m.tar.gz
cd openssl-1.0.2m
./config --prefix=/usr/local/ssl --openssldir=/etc/ssl --shared zlib
echo $?
make
make test
make install
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig -v

驗證 openssl version:

[root@host-192-168-32-47 home]# openssl version
OpenSSL 1.0.2m  2 Nov 2017

必須加上–shared,否則編譯時會因找不到新安裝的openssl的類庫而報錯
恢復共享庫:

mv  /usr/lib64/libcrypto.so.10.old  /usr/lib64/libcrypto.so.10
mv  /usr/lib64/libssl.so.10.old  /usr/lib64/libssl.so.10

四、升級openssh
備份當前openssh:
mv /etc/ssh /etc/ssh.old
卸載:
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
openssh安裝前環境配置:
install  -v -m700 -d /var/lib/sshd
chown  -v root:sys /var/lib/sshd

groupadd -g 51 sshd
useradd -c ‘sshd PrivSep‘ -d /var/lib/sshd -g sshd -s /bin/false -u 51 sshd
這兩步我沒有操作,因爲用戶和用戶組都已經有了
源碼安裝:

tar -xf openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure --prefix=/usr  --sysconfdir=/etc/ssh  --with-md5-passwords  --with-pam  --with-zlib --with-ssl-dir=/usr/local/ssl --with-privsep-path=/var/lib/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.4p1
install -v -m644    INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.4p1

允許root直接登錄:
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
拷貝啓動文件設置chkconfig:

cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig  --add  sshd
chkconfig  sshd  on

重啓sshd需要通過telnet才能登錄啓動sshd了:

/etc/init.d/sshd restart
vim /etc/init.d/sshd 
/etc/init.d/sshd restart
exit
ssh -V
service sshd reload

查看ssh版本:

[root@host-192-168-32-47 home]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2m  2 Nov 2017

如果需要還原原來的ssh配置(如不需要則不進行一下操作):

rm -rf /etc/ssh
mv /etc/ssh.old /etc/ssh

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章