首页 > 技术文章 > Centos6.5升级安装openssh7.7p1

52py 2019-05-27 11:23 原文

Centos6.5升级安装openssh7.7p1

 关于OpenSSH漏洞
 

2016年1月14日OpenSSH发布官方公告称, OpenSSH Client 5.4~7.1 版本中未公开说明的功能(Roaming)存在信息泄漏和缓冲区溢出漏洞,此漏洞可能导致您通过ssh等命令连接不可信服务器或被伪造服务器时,私钥等敏感信息会被恶意检索和利用,详情可参考:

 

排查方法

 

在被检查的Linux系统机器上执行:

  1. # ssh -v user@[server] 2>&1 | grep -i 'Roaming'

[server]为任一ssh开放的服务器。如输出信息显示,则本机的ssh client受影响:

  1. debug1: Roaming not allowed by server
 

升级过程的参考

 
 

准备工作

 

因centos7自带的ssh版本较低,存在高危漏洞,故升级到最新版本(目前是7.7pl)。

注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好先安装vnc或者telnet等远程服务

查看下当前SSH版本:

  1. # ssh -V
  2. # rpm -qa | grep openssh
 
 

备份ssh配置

  1. # mv /etc/ssh/ /lee/bak/ssh.bak
 

编译安装openssh

 

1、 解压安装包:

  1. # tar -zxf openssh-7.7p1.tar.gz

2、编译

需要gcc编译器的

  1. # ./configure --prefix=/usr --sysconfdir=/etc/ssh

如果报错:

  1. configure: error: *** zlib.h missing - please install first or check config.log ***

需要安装zlib-devel

  1. # yum install -y zlib-devel 

如果报错:

  1. configure: error: *** OpenSSL headers missing - please install first or check config.log ***

需要安装openssl-devel

  1. # yum -y install openssl-devel

解决完报错后重新执行

  1. # ./configure --prefix=/usr --sysconfdir=/etc/ssh
  2. # make

需要测试:make完成后先不要make install,先卸载旧版的openssh

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

完成后执行make install:

  1. # make install

查看下安装结果:

  1. # ssh -V

至此编译安装完成。

配置sshd服务

复制启动文件到/etc/init.d/下并命名为sshd,加入开机启动

  1. # cp contrib/redhat/sshd.init /etc/init.d/sshd
  2. # chkconfig --add sshd

允许root使用ssh:

openssh7.5默认root用户是不能用ssh远程登录的,需要修改配置文件:

  1. # vim /etc/ssh/sshd_config

找到#PermitRootLogin prohibit-password项,去掉注释并把prohibit-password改为yes

  1. PermitRootLogin yes

重启ssh服务:

  1. # service sshd restart

至此升级/安装完成。

推荐阅读