前段时间因为要修复openssh的漏洞,官方说法是升级openssh,所以就选择了升级到 openssh-7.5p1 ,升级openssh连带要升级openssl。
漏洞信息:
Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600)
OpenSSH 远程权限提升漏洞(CVE-2016-10010)
操作系统:
CentOS Linux release 7.2.1511 (Core)
软件包:
openssh-7.5p1.tar.gz openssh-7.5p1.tar
openssl-1.0.2k.tar.gz openssl-1.0.2k.tar
(openssl不可以选用1.1.X 版本,否则openssh编译时会报错)
关闭selinux
vim /etc/sysconfig/selinux
修改 SELINUX=disabled
1、临时关闭(不用重启机器)关闭 命令 setenforce 0
一、升级之前最好先把telnet开起来,防止意外导致ssh无法连接
1 2 3 4 5 6 7 |
yum install -y telnet-server yum install -y xinetd systemctl enable xinetd.service systemctl enable telnet.socket systemctl start telnet.socket systemctl start xinetd |
默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容:
mv /etc/securetty /etc/securetty.old
service xinetd restart ####重启服务
验证登录:
用telnet 的方式登录 服务器,看能不能连上服务器,登录成功后再做以下操作。
二、升级openssl
升级前的版本
上传程序包 openssl-1.0.2k.tar.gz 和openssh-7.5p1.tar.gz 到服务器 (这里一定要注意,一定要把文件先上传到服务器,后面如果删除旧版的程序后,sftp yum get 暂时都不能用了的)
安装依赖包:
yum -y install pam-devel.x86_64 zlib-devel.x86_64
yum install gcc-c++ gcc -y
卸载旧版程序:(在卸载之前确认又上传了程序包到服务器上)
1 |
rpm -e --nodeps `rpm -qa|grep openss` |
解压缩:
tar -zxvf openssl-1.0.2k.tar.gz
进入解压路径:
cd openssl-1.0.2k
编译安装:
1 |
./config --prefix=/usr --shared && make && make install |
创建软链接:
1 2 3 |
ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10 ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.10 |
验证版本信息:openssl version -a
openssl升级完成。
三、升级openssh
1 |
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords |
执行:如下命令
1 2 3 |
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config echo "PermitRootLogin yes" >> /etc/ssh/sshd_config #允许root用户通过ssh登录 |
