添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

简单记录CentOS 6.8 升级OpenSSH到最新版本7.5p1的步骤。

转自 http://www.linuxidc.com/Linux/2017-05/143568.htm ,同时参考了 http://blog.csdn.net/levy_cui/article/details/53100315

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

一、 安装编译所需工具包

yum install gcc pam-devel zlib-devel

二、安装telnet服务

因为我是通过ssh远程升级ssh版本,如果失败了还可以通过telnet连接进行操作。若是本地升级ssh版本,该步骤可跳过。

1.安装软件

yum -y install telnet-server* telnet

2.启用telnet服务

vi /etc/xinetd.d/telnet

将其中disable字段的yes改为no以启用telnet服务

mv /etc/securetty /etc/securetty.old    #允许root用户通过telnet登录
service xinetd start                    #启动telnet服务 
chkconfig xinetd on                     #使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系统

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

三、升级OpenSSH

1.备份当前OpenSSH

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

2.卸载当前openssh

rpm -qa | grep openssh

openssh-clients-5.3p1-104.el6.x86_64
openssh-server-5.3p1-104.el6.x86_64
openssh-5.3p1-104.el6.x86_64
openssh-askpass-5.3p1-104.el6.x86_64

将出现的这些卸载

rpm -e --nodeps openssh-5.3p1-104.el6.x86_64
rpm -e --nodeps openssh-server-5.3p1-104.el6.x86_64
rpm -e --nodeps openssh-clients-5.3p1-104.el6.x86_64
rpm -e --nodeps openssh-askpass-5.3p1-104.el6.x86_64
rpm -qa | grep openssh 

注意:卸载过程中如果出现以下错误

rpm -e --nodeps openssh-server-5.3p1-104.el6.x86_64

出现以下错误:

error reading information on service sshd: No such file or directory
error: %preun(openssh-server-5.3p1-104.el6.x86_64) scriptlet failed, exit status 1
rpm -e --noscripts openssh-server-5.3p1-104.el6.x86_64

3.OpenSSH安装前环境配置

install -v -m700 -d /var/lib/sshd
chown -v root:sys /var/lib/sshd

当前系统sshd用户已经存在的话以下不用操作

groupadd -g 50 sshd
useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd -s /bin/false -u 50 sshd

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

wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
tar -zxvf openssh-7.5p1.tar.gz
cd openssh-7.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
make install

5.OpenSSH安装后环境配置

在OpenSSH编译目录执行如下命令

install -v -m755    contrib/ssh-copy-id /usr/bin
install -v -m644    contrib/ssh-copy-id.1 /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-7.5p1
install -v -m644    INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.5p1
ssh -V              #验证是否升级成功

6.启用OpenSSH服务

在OpenSSH编译目录执行如下命令

echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config  #允许root用户通过ssh登录
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig  --add  sshd
chkconfig  sshd  on
chkconfig  --list  sshd
service sshd restart

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

7.重启系统验证

重启系统验证可正常连接ssh,若不能,通过telnet连接进行操作。

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

mv /etc/securetty.old /etc/securetty
chkconfig  xinetd off 
service xinetd stop

如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。

rm -rf /etc/ssh
mv /etc/ssh.old /etc/ssh
yum -y --disablerepo=\* locali ns tall * . rpm sed -i "s/ . * Pe rmitRootLogin . */ Pe rmitRootLogin yes/" /etc/ ssh / ssh d_config chmod 6 00 -R /etc/ ssh / servi ce ssh d restart 前提系统环境为: CentOS 6.8 , OpenSSH 版本 为: OpenSSH _5 . 3 p1 , OpenS SL 1 . 0 . 1e-fips 11 Feb 2013目标: 升级 OpenSSH 最新版 OpenSSH _ 7 . 7 p1 (201 8 -04)原因:因老版存在很多 漏洞 ,因此需要 升级 最新版 本。网络环境:服务器所在区域无法上网,需要离线安装所有软件和依赖包相关资源: CentOS 6.8 软件资源:http . . . 浏览器打开 7 . 4以下 openssh 版本 存在严重 漏洞 : 1 . OpenSSH 远程权限提升 漏洞 (CVE-201 6 -10010) 2 . OpenSSH J-PAKE授权问题 漏洞 (CVE-2010-44 7 8 ) 3 . Openssh MaxAuthTries限制绕过 漏洞 (CVE-2015-5 6 00) OpenS SL>=1 . 0 . 1 . . . 浏览器打开 本文主要简单记录下 openssh 升级 步骤,及一键 升级 脚本。安装编译所需工具包yum i ns tall gcc pam-devel zlib-devel一、 升级 原因 7 . 4以下 openssh 版本 存在严重 漏洞 :1 . OpenSSH 远程权限提升 漏洞 (CVE-201 6 -10010)2 . OpenSSH J-PAKE授权问题 漏洞 (CVE-2010-44 7 8 )3 . Openssh MaxAuthTries限制绕过 漏洞 . . . 浏览器打开 在linux里安装程序有两种方法,一种是源程序安装,按照安装包里的readme或者i ns tall文件指示,一步步地进行,通常是configure, make, i ns tall三部曲。另一种就是rpm包,这个类似windows里常见的安装程序,既可在xwin里双击运行,也可以在终端里输入 rpm -ivh packagename开始安装。 卸装时,用源程序安装的运行make uni ns ta 浏览器打开 在linux里安装程序有两种方法,一种是源程序安装,按照安装包里的readme或者i ns tall文件指示,一步步地进行,通常是configure, make, i ns tall三部曲。另一种就是rpm包,这个类似windows里常见的安装程序,既可在xwin里双击运行,也可以在终端里输入 rpm -ivh packagename开始安装。 卸装时,用源程序安装的运行make uni ns ta 浏览器打开 Centos 7 . 6 升级 openssh 8 . 6 操作步骤概述正文软件准备上传软件解压缩软件开启Telnet安装软件服务配置及启动基础软件安装 Openssh 升级 安装zlib安装 Opens sl编译安装库文件载入 升级 Openssh 编译安装关键配置备份旧版软件删除配置更改命令替换及服务重启设置开机启动 版本 验证配套脚本 本文档用以指导在 CentOS Linux release 7 . 6 . 1 8 10 (Core) 版本 操作系统 升级 Openssh 8 . 6 p1 版本 ,操作前务必保证存在可用的基础yum源,否则可能导致 升级 失败。 浏览器打开 OpenSSH ssh d 安全 漏洞 (CVE-2015- 8 325) OpenSSH 拒绝服务 漏洞 (CVE-201 6 -0 7 7 8 ) OpenSSH ssh d 权限许可和访问控制 漏洞 (CVE-2015-5 6 00) OpenSSH ssh d 安全 漏洞 (CVE-201 6 - 6 515) OpenSSH 远程代码执行 漏洞 (CVE-201 6 -10009) . . . 浏览器打开