OpenSSH服务端是为了解决漏洞编号CVE-2016-10009,因centos6默认初始的ssh版本较低,该漏洞的影响范围包括OpenSSL版本5.0到7.3。
注:升级ssh,由于是在线升级,存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好先安装vnc或者telnet等远程服务,安装方法可以查看我的其它相关文档。
1、准备工作:
查看下当前SSH版本:
[root@localhost ~]# ssh -v OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
安全界的大佬们估计一眼都可以看出另外一个问题。请各位也注意了OpenSSL 1.0.1,心脏滴血漏洞,顺便也升级了吧。ok本章不写。
或者
[root@localhost~]# 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:由于是影响7.4的版本,所以至少下载7.4 目前最新的是7.9版本了。
https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/
[root@localhost ]# wget https://fastly.cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz
你也可以选择更好的版本7.5
我选择7.5
做好准备工作就开始了,备份ssh:
[root@localhost bak]# mv /etc/ssh/ /lee/bak/ssh.bak
2、编译安装openssh:
解压安装包:
[root@localhost bak]# tar -zxf openssh-7.5p1.tar.gz
编译:
当然编译是需要gcc编译器的,我在这里是用yum安装的:
[root@localhost bak]# yum -y install gcc [root@localhost bak]# cd openssh-7.5p1/ [root@localhost openssh-7.5p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh
如果报错:configure: error: *** zlib.h missing - please install first or check config.log ***,需要安装zlib-devel
[root@localhost openssh-7.5p1]# yum install -y zlib-devel
如果报错:configure: error: *** OpenSSL headers missing - please install first or check config.log ***,需要安装openssl-devel
[root@localhost openssh-7.5p1]# yum -y install openssl-devel
解决完这两个报错后重新执行 ./configure --prefix=/usr --sysconfdir=/etc/ssh
完成后执行make:
[root@localhost openssh-7.5p1]# make
make完成后先不要make install,先卸载旧版的openssh
[root@localhost openssh-7.5p1]# rpm -e --nodeps `rpm -qa | grep openssh`
完成后执行make install:
[root@localhost openssh-7.5p1]# make install
查看下安装结果:
[root@localhost openssh-7.5p1]# ssh -V
OpenSSH_7.5p1, OpenSSL 1.0.1e-fips 11 Feb 2013
至此编译安装完成。
3、配置sshd服务:
复制启动文件到/etc/init.d/下并命名为sshd:
[root@localhost openssh-7.5p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
加入开机启动:
[root@localhost openssh-7.5p1]# chkconfig --add sshd
4、配置允许root使用ssh:
openssh7.5默认root用户是不能用ssh远程登录的,需要修改配置文件:
[root@localhost openssh-7.5p1]# vim /etc/ssh/sshd_config
找到#PermitRootLogin prohibit-password项,去掉注释并把prohibit-password改为yes
PermitRootLogin yes
重启ssh服务:
[root@localhost openssh-7.5p1]# service sshd restart
至此升级/安装完成。