centos6.6升级openssh到最新版本7.5.p1

前端之家收集整理的这篇文章主要介绍了centos6.6升级openssh到最新版本7.5.p1前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文主要简单记录下openssh升级步骤,及一键升级脚本。

安装编译所需工具包

yum install gcc pam-devel zlib-devel

一、升级原因

7.4以下openssh版本存在严重漏洞:

1.OpenSSH 远程权限提升漏洞(CVE-2016-10010)

2.OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)

3.Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)

OpenSSL>=1.0.1可以不用升级OpenSSL

二、安装telnet服务

1.安装软件

  1. #yum-yinstalltelnet-server*telnet

2.启用telnet服务

  1. #vi/etc/xinetd.d/telnet
  2. 将其中disable字段的yes改为no以启用telnet服务
  3. #mv/etc/securetty/etc/securetty.old#允许root用户通过telnet登录
  4. #servicexinetdstart#启动telnet服务
  5. #chkconfigxinetdon#使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系统

3.测试telnet能否正常登入系统

三、升级OpenSSH

1.备份当前openssh

  1. mv/etc/ssh/etc/ssh.old
  2. mv/etc/init.d/sshd/etc/init.d/sshd.old

2.卸载当前openssh

  1. #rpm-qa|grepopenssh
  2. openssh-clients-5.3p1-104.el6.x86_64
  3. openssh-server-5.3p1-104.el6.x86_64
  4. openssh-5.3p1-104.el6.x86_64
  5. openssh-askpass-5.3p1-104.el6.x86_64
  6. #rpm-e--nodepsopenssh-5.3p1-104.el6.x86_64
  7. #rpm-e--nodepsopenssh-server-5.3p1-104.el6.x86_64
  8. #rpm-e--nodepsopenssh-clients-5.3p1-104.el6.x86_64
  9. #rpm-e--nodepsopenssh-askpass-5.3p1-104.el6.x86_64
  10. #rpm-qa|grepopenssh
  11. 注意:卸载过程中如果出现以下错误
  12. [root@node1openssh-7.5p1]#rpm-e--nodepsopenssh-server-5.3p1-104.el6.x86_64
  13. errorreadinginformationonservicesshd:Nosuchfileordirectory
  14. error:%preun(openssh-server-5.3p1-104.el6.x86_64)scriptletFailed,exitstatus1
  15. 解决方法
  16. #rpm-e--noscriptsopenssh-server-5.3p1-104.el6.x86_64

3.openssh安装前环境配置

  1. #install-v-m700-d/var/lib/sshd
  2. #chown-vroot:sys/var/lib/sshd
  3. 当前系统sshd用户已经存在的话以下不用操作
  4. #groupadd-g50sshd
  5. #useradd-c'sshdPrivSep'-d/var/lib/sshd-gsshd-s/bin/false-u50sshd

4.解压openssh_7.5p1源码并编译安装

  1. #tar-zxvfopenssh-7.5p1.tar.gz
  2. #cdopenssh-7.5p1
  3. #./configure--prefix=/usr--sysconfdir=/etc/ssh--with-md5-passwords--with-pam--with-zlib--with-openssl-includes=/usr--with-privsep-path=/var/lib/sshd
  4. #make
  5. #makeinstall

5.openssh安装后环境配置

  1. #在openssh编译目录执行如下命令
  2. #install-v-m755contrib/ssh-copy-id/usr/bin
  3. #install-v-m644contrib/ssh-copy-id.1/usr/share/man/man1
  4. #install-v-m755-d/usr/share/doc/openssh-7.5p1
  5. #install-v-m644INSTALLLICENCEOVERVIEWREADME*/usr/share/doc/openssh-7.5p1
  6. #ssh-V#验证是否升级成功

6.启用OpenSSH服务

  1. #在openssh编译目录执行如下目录
  2. #echo'X11Forwardingyes'>>/etc/ssh/sshd_config
  3. #echo"PermitRootLoginyes">>/etc/ssh/sshd_config#允许root用户通过ssh登录
  4. #cp-pcontrib/redhat/sshd.init/etc/init.d/sshd
  5. #chmod+x/etc/init.d/sshd
  6. #chkconfig--addsshd
  7. #chkconfigsshdon
  8. #chkconfig--listsshd
  9. #servicesshdrestart

注意:如果升级操作一直是在ssh远程会话中进行的,上述sshd服务重启命令可能导致会话断开并无法使用ssh再行登入(即ssh未能成功重启),此时需要通过telnet登入再执行sshd服务重启命令。

7.重启系统验证没问题后关闭telnet服务

  1. #mv/etc/securetty.old/etc/securetty
  2. #chkconfigxinetdoff
  3. #servicexinetdstop
  4. 如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。
  5. #rm-rf/etc/ssh
  6. #mv/etc/ssh.old/etc/ssh

附件为一键升级脚本,先运行telnetserver.sh,而后在运行升级openssh脚本。

猜你在找的CentOS相关文章