1. 程式人生 > >RedHat更新Openssh到最新版本

RedHat更新Openssh到最新版本

由於目前伺服器上ssh版本較低,存在安全漏洞,需要升級到最新版本。

系統版本:RedHat 6.6 

舊openSSH版本:5.3p1

新openSSH版本:7.4p1

升級方式:原始碼安裝

1.更新ssl

yum update openssl

更新ssl到OpenSSL 1.0.1e-fips

2.備份ssh目錄

cp -rf /etc/ssh /etc/ssh.bak

3.安裝telnet,以備ssh更新失敗無法遠端連線,如果可以現場操作可忽略

4.安裝升級所需元件

yum install -y gcc openssl-devel pam-devel rpm-build

5.解壓升級包,並安裝(如需解除安裝舊版openSSH,檢視步驟8)

tar -zxvf openssh-7.4p1.tar.gz 
cd openssh-7.4p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords 
make && make install

安裝後提示

/etc/ssh/ssh_config already exists, install will not overwrite
/etc/ssh/sshd_config already exists, install will not overwrite
/etc/ssh/moduli already exists, install will not overwrite
ssh-keygen: generating new host keys: ECDSA ED25519 
/usr/sbin/sshd -t -f /etc/ssh/sshd_config
/etc/ssh/sshd_config line 81: Unsupported option GSSAPIAuthentication
/etc/ssh/sshd_config line 83: Unsupported option GSSAPICleanupCredentials
6.修改配置檔案允許root使用者遠端登陸
vim /etc/ssh/sshd_config
#PermitRootLogin yes
修改為
PermitRootLogin yes

7.重啟openSSH

service sshd restart

8.如果需要解除安裝舊版openSSH

檢視舊版openSSH
rpm -qa | grep openssh


解除安裝舊版openSSH

rpm -e `rpm -qa | grep openssh` --nodeps

9.安裝新版openSSH

tar -zxvf openssh-7.4p1.tar.gz 
cd openssh-7.4p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords 
make && make install

10.複製啟動指令碼到/etc/init.d

cp /xx/openssh-7.4p1/contrib/RedHat/sshd.init /etc/init.d/sshd

11.加入開機啟動



12.啟動sshd

用start或reload。不要restart,restart 會直接斷開連線,而並不會接著啟動sshd服務,這時候要通過其他途徑進入機器,然後啟動sshd服務才行。



13.檢視ssh版本

ssh -V

參考:

http://blog.csdn.net/levy_cui/article/details/53100315

http://www.2cto.com/os/201510/445119.html