centos7 升级openssh7.5 操作

前段时间因为要修复openssh的漏洞,官方说法是升级openssh,所以就选择了升级到 openssh-7.5p1 ,升级openssh连带要升级openssl。


漏洞信息:

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

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


操作系统:

CentOS-7-x86_64-Minimal-1611


软件包:

openssh-7.5p1.tar.gz

openssl-1.0.2l.tar.gz

(openssl不可以选用1.1.X 版本,否则openssh编译时会报错)

关闭selinux

vim /etc/sysconfig/selinux
修改 SELINUX=disabled

centos7 升级openssh7.5 操作_第1张图片

一、升级之前最好先把telnet开起来,防止意外导致ssh无法连接

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用户直接登录,需设置如下内容:

echo  'pts/0'  >>/etc/securetty
echo 'pts/1' >>/etc/securetty

service  xinetd  restart ####重启服务


验证登录:

cmd:


如下图示,登录成功。

centos7 升级openssh7.5 操作_第2张图片


二、升级openssl

升级前的版本


上传程序包到服务器

安装依赖包:

yum -y install pam-devel.x86_64 zlib-devel.x86_64

卸载旧版程序:

rpm -e --nodeps `rpm -qa|grep openss`


解压缩:

tar -zxvf openssl-1.0.2l.tar.gz

进入解压路径:

cd openssl-1.0.2l

编译安装:

./config --prefix=/usr --shared && make && make install

创建软链接:

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

centos7 升级openssh7.5 操作_第3张图片

openssl升级完成。


三、升级openssh

备份旧ssh配置文件 /etc/ssh :
mv /etc/ssh/ /home/ssh-bak

解压:
tar -zxvf openssh-7.5p1.tar.gz
进入解压路径:
cd openssh-7.5p1
编译安装:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords

make && make install

复制pam的头文件:
cp contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
(这里的pam其实是没有启用的,所以这一步可以省略,在sshd_config中如果开启pam会出现无法连接的情况,这个问题有待研究

复制启动脚本:
cp contrib/redhat/sshd.init /etc/init.d/sshd
设置开机启动:
chkconfig sshd on

编辑ssh配置文件:
vim /etc/ssh/sshd_config

取消注释 PasswordAuthentication yes

验证版本信息: 
ssh -V


重启ssh服务
service sshd restart
会发现连接不上,这个问题是selinux修改要生效需要重启机器

重启机器后连接成功
升级完成


你可能感兴趣的:(linux系统相关)