关于centos7出现ssh版本过低出现的VE-2016-1009漏洞的修复思路(已验证)
2021/4/30 7:59:42
本文主要是介绍关于centos7出现ssh版本过低出现的VE-2016-1009漏洞的修复思路(已验证),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
因为是事后总结,所以在此大致说一下思路,希望对你有帮助;
首先openssh需要依赖openssl,经过我修复漏洞之后了解的大概是openssh需要依赖指定的openssl版本,如果版本不对应会出现openssh无法安装。
openssl升级可以参考https://blog.51cto.com/u_7424593/1840487
写写我自己的openssl操作步骤
如上面的链接准备4个包(ssh我想通过yum直装,这里主要是安装openssl)
pam-devel-1.1.8-23.el7.x86_64.rpm libopenssl-devel-1.0.1c-2.1.3.x86_64.rpm zlib-devel-1.2.7-2.1.2.x86_64.rpm openssl-1.0.2h.tar.gz
一、安装依赖软件
1、安装必要的gcc、gcc-c++编译工具及libopenssl-devel、pam-devel、zlib-devel
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake mkdir /usr/local/src cd /usr/local/src rpm -ivh libopenssl-devel-1.0.1c-2.1.3.x86_64.rpm --nodeps --force rpm -ivh pam-devel-1.1.8-23.el7.x86_64.rpm --nodeps --force rpm -ivh zlib-devel-1.2.7-2.1.2.x86_64.rpm 【 如果安装zlib出现报错,请使用这个: rpm -ivh zlib-devel-1.2.7-2.1.2.x86_64.rpm --nodeps --force 】
二、安装OpenSSL
1、检查系统自带的openssl
cd /usr/local/src rpm -q openssl =>openssl-0.9.8j-0.50.1 # 由于openssl依赖的软件太多,所以在升级openssl时,不用卸载旧的版本。如果强制卸载可能导致系统不能正常运行 openssl version =>OpenSSL 0.9.8j-fips 07 Jan 2009 # 检查openssl的目录 which openssl =>/usr/bin/openssl # 在升级过程中将旧版的相关文件进行备份,在升级新版本后重新链接替换为新版本对应的文件目录 whereis openssl =>openssl: /usr/bin/openssl /usr/bin/X11/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz ls /etc/ssl/ =>certs openssl.cnf private servercerts # 备份上述文件,/usr/bin/X11/openssl为/usr/bin/openssl的软链接 mkdir /home/ssl_bak mv /usr/bin/openssl /home/ssl_bak/ mv /etc/ssl /home/ssl_bak/etc_ssl mv /usr/include/openssl /home/ssl_bak/include_openssl 备份完之后最后去路径中查一遍
2、升级openssl
1)安装openssl-1.0.2h.tar.gz cd /usr/local/src tar -zxf openssl-1.0.2h.tar.gz cd openssl-1.0.2h/ ./config --prefix=/usr/local/openssl --openssldir=/etc/ssl shared zlib make make install(必须要这一步,否则可能会不能使用) # 查看安装好的/usr/local/openssl目录文件 ls /usr/local/openssl/{bin,include,lib} =>/usr/local/openssl/bin: c_rehash fips_standalone_sha1 fipsld openssl /usr/local/openssl/include: openssl /usr/local/openssl/lib: engines fips_premain.c.sha1 fipscanister.o.sha1 libcrypto.so libssl.a libssl.so.1.0.0 fips_premain.c fipscanister.o libcrypto.a libcrypto.so.1.0.0 libssl.so pkgconfig # 查看/etc/ssl目录 ls /etc/ssl/ =>certs man misc openssl.cnf private
3、配置升级后的openssl的相关目录(链接openssl程序)
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/include/openssl /usr/include/openssl echo "/usr/local/openssl/lib" >> /etc/ld.so.conf ldconfig # 查看升级的openssl版本 openssl version =>OpenSSL 1.0.2h 3 May 2016
三、卸载系统原有的OpenSSH
# 停止sshd服务 service sshd stop # 查看当前的openssh版本 rpm -qa openssh* # 卸载openssh yum remove openssh* 如果卸载不了,可以使用此项 # 使用rpm查询系统里面openssh的RPM软件包名称 rpm -qa | grep openssh 语法:rpm -e RPM包的名称 rpm -e opensshxxx 卸载完成之后再做下一步
四、安装 openssh
安装 openssh yum install openssh-server 如果安装不上,建议将yum源切换到阿里云,阿里云的是最新版的openssh 切换见这里 https://www.qunniao.net/113.html yum install openssh-server vim /etc/ssh/sshd_config 按以下图配置,主要是上面四个红箭头
参数详解 Port 22 #定义ssh监听的端口号,默认为22 Protocol 2,1 #设置使用ssh协议的顺序,先使用ssh2,如果不成功再使用ssh Protocol 2 #设置只使用ssh2协议 ListenAddress 0.0.0.0 #设置ssh服务器绑定的ip地址,默认为所有可用的ip地址 PermitRootLogin yes #设置是否允许root登录,默认允许 PermitEmptyPasswords no #设置是否允许空密码的客户登录,默认为禁止 PasswordAuthentication yes #设置是否使用口令认证方式,如果要使用公钥认证方式,可将其设置为no 启动服务 systemctl start sshd 开机自启 systemctl enable sshd
然后就可以使用xshell连接了
本文所需资源我放在CSDN上了,也可私聊我:https://download.csdn.net/download/qq_15088653/18235551
这篇关于关于centos7出现ssh版本过低出现的VE-2016-1009漏洞的修复思路(已验证)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享