CentOS 6.8 升级OpenSSH至最新版本7.5p1
2017-07-13 15:35
501 查看
简单记录CentOS 6.8 升级OpenSSH到最新版本7.5p1的步骤。
2. OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478)
3. Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)
OpenSSL>=1.0.1可以不用升级OpenSSL
二、安装telnet服务
因为我是通过ssh远程升级ssh版本,如果失败了还可以通过telnet连接进行操作。若是本地升级ssh版本,该步骤可跳过。
1.安装软件
2.启用telnet服务
将其中disable字段的yes改为no以启用telnet服务
3.测试telnet能否正常登入系统
三、升级OpenSSH
1.备份当前OpenSSH
2.卸载当前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
将出现的这些卸载
注意:卸载过程中如果出现以下错误
如执行
出现以下错误:
解决方法
3.OpenSSH安装前环境配置
当前系统sshd用户已经存在的话以下不用操作
4.下载解压openssh_7.5p1源码并编译安装
5.OpenSSH安装后环境配置
在OpenSSH编译目录执行如下命令
6.启用OpenSSH服务
在OpenSSH编译目录执行如下命令
注意:如果升级操作一直是在ssh远程会话中进行的,上述sshd服务重启命令可能导致会话断开并无法使用ssh再行登入(即ssh未能成功重启),此时需要通过telnet登入再执行sshd服务重启命令。
7.重启系统验证
重启系统验证可正常连接ssh,若不能,通过telnet连接进行操作。
8.重启系统验证没问题后关闭telnet服务
转自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 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
相关文章推荐
- centos6.6升级openssh到最新版本7.5.p1
- CentOS 6.6升级OpenSSH到最新版本7.5.p1
- centos 6.8 x86_64下autoconf版本升级到2.69
- CentOS 5.3通过yum升级php到最新版本的方法
- CentOS7 升级Docker 最新的版本
- CentOS 6.8内核版本升级(升级至3.10)(转)
- CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
- Centos最新方法升级php版本到5.2.11
- Centos升级curl到最新版本
- 将CentOS系统默认的python手动升级最新到2.7.13版本
- CentOS 7 升级内核到最新版本
- centos7.2如何升级到centos7.3最新版本
- centos 升级内核到最新版本
- CentOS 5.3 通过yum升级 php到最新版本的方法
- 如何升级centos到最新版本
- 将CentOS系统默认的python一键自动升级到最新的2.7.13版本
- CentOS下平滑无缝升级Nginx到最新版本
- CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)
- CentOS 6.8上升级MySQL到5.7版本
- CentOS 7 升级最新版本git