CentOS 7.2 OpenSSH升级 OpenSSH_8.1p1

OpenSSH_7.4p1 升级  OpenSSH_8.1p1
升级原因

   
OpenSSH 拒绝服务漏洞(CVE-2016-0778)  
OpenSSH sshd 安全漏洞(CVE-2015-8325)  
OpenSSH'ssh/kex.c'拒绝服务漏洞(CVE-2016-8858)  
详细描述 OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。sshd是其中的一个独立守护进程。 OpenSSH 7.2p2及之前版本的sshd中的session.c文件中的‘do_setup_env’函数存在安全漏洞。当程序启用UseLogin功能并且PAM被配置成读取用户主目录中的.pam_environment文件时,本地攻击者可借助/bin/login程序的特制的环境变量利用该漏洞获取权限。


当前版本:
[root@datanode1 ~]# ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017


升级后版本:
[root@namenode ~]# ssh -V
OpenSSH_8.1p1, OpenSSL 1.0.2k-fips 26 Jan 2017

Openssh 安装包下载到本地
http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/

可根据自身需求进行安装包下载升级;

CentOS 7.2 OpenSSH升级 OpenSSH_8.1p1_第1张图片
升级注意事项 (以下有的操作默认为管理员权限,如果遇到权限问题每个指令以及指令组合都要在前面加sudo)

 
系统版本:
[root@namenode hd]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

#免升级失败造成无法连接服务器:

#装telnet服务

yum list |grep telnet  

yum install telnet-server.x86_64 -y

#装xinetd服务

yum list |grep xinetd

yum install xinetd.x86_64 -y


#entOS 6系列版本修改telnet配置文件(CentOS 7 以及以上版本跳过这一步)

vi /etc/xinetd.d/telnet    (7以上版本很可能没这个文件)

#于默认centos不允许使用telnet登录,暂时修改为备份文件。

sudo mv /etc/securetty  /etc/securetty.bak

#行telnet

CentOS 7系列版本通过下面四个指令 开启Telnet

systemctl start telnet.socket
systemctl start xinetd
测试是否可以telnet登录,确认可以登录后将旧版本openssh卸载

yum remove openssh* -y

升级openssh8.1

上传文件在下载好的openshh的文件在/usr/local/src 目录下(权限不足则放置在/home/目录下)
解压文件openssh-8.1p1
tar zxvf openssh-8.1p1.tar.gz
cd openssh-8.1p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd

避免在安装遇到因依赖环境引起的错误建议提前安装依赖环境

yum install openssl openssl-devel gcc -y

避免编译时出现错误修改以下权限:
chmod 600 /etc/ssh/ssh_host_rsa_key

chmod 600 /etc/ssh/ssh_host_ecdsa_key

chmod 600 /etc/ssh/ssh_host_ed25519_key

make && make install

查看升级状态:
[root@datanode1 openssh-8.1p1]# ssh -V
OpenSSH_8.1p1, OpenSSL 1.0.2k-fips 26 Jan 2017

注意:默认是22端口,但是不能root直接登录。如果想直接使用root登录执行以下命令

#echo "PermitRootLogin yes"  >>  /etc/ssh/sshd_config

vi /etc/ssh/sshd_config 修改 ,将 #Port 22前面的“#“ 删除  ,改为Port 22

systemctl daemon-reload
systemctl restart sshd.service

重启sshd    centOS5和6用这个service sshd restart 。

CentOS7.2 systemctl restart sshd.service

利用linux连接工具连接测试是否能连接成功。

mv /etc/securetty.bak /etc/securetty

因安全问题,在ssh连接后卸载telnet服务 ,一定是能用ssh连接后卸载telnet服务!

[root@namenode ~]# yum remove -y telnet-server.x86_64

[root@namenode hd]# yum remove -y xinetd.x86_64
 

你可能感兴趣的:(CentOS 7.2 OpenSSH升级 OpenSSH_8.1p1)