前言:html
因centos7自帶的ssh版本較低,存在高危漏洞,故升級到最新版本(目前是7.5p1)。注:升級ssh存在必定的危險性,一旦不成功可能沒法經過遠程鏈接到系統,所以在升級以前最好先安裝vnc或者telnet等遠程服務,安裝方法能夠查看個人其它相關文檔。node
一、準備工做:vim
查看下當前SSH版本:centos
[root@bogon ~]# ssh -V OpenSSH_6.6.1p1, OpenSSL 1.0.1e-fips 11 Feb 2013
或者bash
[root@bogon ~]# rpm -qa | grep openssh openssh-server-6.6.1p1-11.el7.x86_64 openssh-6.6.1p1-11.el7.x86_64 openssh-clients-6.6.1p1-11.el7.x86_64
下載最新版openssh:ssh
[root@bogon bak]# wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
備份ssh:ide
[root@bogon bak]# mv /etc/ssh/ /lee/bak/ssh.bak
二、編譯安裝openssh:centos7
解壓安裝包:rest
[root@bogon bak]# tar -zxf openssh-7.5p1.tar.gz
編譯:server
固然編譯是須要gcc編譯器的,我在這裏是用yum安裝的:
[root@bogon bak]# yum -y install gcc
configure:
[root@bogon bak]#cd openssh-7.5p1 [root@bogon openssh-7.5p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh
若是報錯:configure: error: *** zlib.h missing - please install first or check config.log ***,須要安裝zlib-devel
[root@bogon openssh-7.5p1]# yum install -y zlib-devel
若是報錯:configure: error: *** OpenSSL headers missing - please install first or check config.log ***,須要安裝openssl-devel
[root@bogon openssh-7.5p1]# yum -y install openssl-devel
解決完這兩個報錯後從新執行 ./configure --prefix=/usr --sysconfdir=/etc/ssh
完成後執行make:
[root@bogon openssh-7.5p1]# make
make完成後先不要make install,先卸載舊版的openssh
[root@bogon openssh-7.5p1]# rpm -e --nodeps `rpm -qa | grep openssh`
完成後執行make install:
[root@bogon openssh-7.5p1]# make install
查看下安裝結果:
[root@bogon openssh-7.5p1]# ssh -V OpenSSH_7.5p1, OpenSSL 1.0.1e-fips 11 Feb 2013
至此編譯安裝完成。
三、配置sshd服務:
複製啓動文件到/etc/init.d/下並命名爲sshd:
[root@bogon openssh-7.5p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
加入開機啓動:
[root@bogon openssh-7.5p1]# chkconfig --add sshd [root@bogon openssh-7.5p1]# chkconfig sshd on
四、配置容許root使用ssh:
openssh7.5默認root用戶是不能用ssh遠程登陸的,須要修改配置文件:
[root@bogon openssh-7.5p1]# vim /etc/ssh/sshd_config
找到#PermitRootLogin prohibit-password項,去掉註釋並把prohibit-password改成yes
PermitRootLogin yes
重啓ssh服務:
[root@bogon openssh-7.5p1]# service sshd restart
至此升級/安裝完成。