解决openssh漏洞,升级openssh版本
时间:2022-04-25
本文章向大家介绍解决openssh漏洞,升级openssh版本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
关于解决漏洞的问题我就不详说了,主要就是升级版本。这里我们就直接简单记录下步骤:
1、升级
使用root用户登录系统进入到/home/guankong ,上传openssh-6.6p1.tar.gz到该目录下
1: 备份原rpm启动脚本到当前路径下
#cp /etc/init.d/sshd /home/guankong
2:停止服务
#/etc/init.d/sshd stop
3: 查看已安装rpm openssh
#rpm –qa |grep openssh
4:删除原rpm openssh软件包
#rpm -e openssh-server-4.3p2-29.el5 openssh-4.3p2-29.el5 openssh-clients-4.3p2-29.el5 openssh-askpass-4.3p2-29.el5
5:解压源码补丁安装包(会在当前路径下创建openssh6.0p1目录)
#tar -zxvf openssh 6.0p1.tar.gz
6: 进入该目录
#cd /root/openssh6.0p1
7: 配置指定安装目录 同时不检查zlib版本(节省时间如果zlib版本过低那么就会造成openssh的源文件无法编译成功)
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check
8:make 编译
9:make install 安装
10:检查是否升级成功
#ssh –V
下图为升级成功
11:vi /etc/ssh/sshd_config 修改配置文件(参照下方sshd配置文件安全配置要求)
12:拷贝启动脚本到/etc/init.d/下
#cp /root/sshd /etc/init.d/
13: 开启服务
#/etc/init.d/sshd start
开启服务时会有一个提示
因为这个路径目录已经通过卸载rpm包被删除、手动创建一个即可(该路径在启动脚本中为通过日志记录sshd服务的启动信息)
#mkdir /var/empty/sshd
14:设置SSHD服务为开机启动
#chkconfig --add sshd
#chkconfig sshd on
15:检查端口是否正常
#netstat -an |grep :22
shell脚本:
#!/bin/sh
chmod 755 -R .
install_log=install.log
##openssh upgrade
echo "#######1:openssh upgrade ..." 2>&1 | tee -a $install_log
cp /etc/init.d/sshd ./
/etc/init.d/sshd stop
rpm -e openssh-clients-5.3p1-111.el6.x86_64 openssh-5.3p1-111.el6.x86_64 openssh-server-5.3p1-111.el6.x86_64 2>&1 | tee -a $install_log
tar -zxvf openssh-6.6p1.tar.gz 2>&1 | tee -a $install_log
cd openssh-6.6p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check 2>&1 | tee -a $install_log
make 2>&1 | tee -a $install_log
make install 2>&1 | tee -a $install_log
cd ..
cp sshd /etc/init.d/ -rf
/etc/init.d/sshd start
chkconfig sshd on
echo "openssh upgrade end !" 2>&1 | tee -a $install_log
软件:openssh-6.6p1.tar.gz,自行下载
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringBoot Redis简单理解
- SpringBoot前端 —— thymeleaf 简单理解
- MyBatis XML简单理解
- Arraylist 与 LinkedList面试题
- Linux服务器权限管理之sudo高级应用
- java各个时间类总结归纳,最全一篇
- 线程池ThreadPoolExecutor源码分析
- 如何基于SSM框架,快速搭建maven后台项目?
- 6种解决跨域方案,今天全告诉你了
- ArrayList源码分析
- Linux系统基础之磁盘介绍
- jstack分析多线程死锁,来吧老铁们
- 一文搞懂CAS,ABA问题分析
- 企业实战项目之服务器用户权限集中管理
- Java集合Map面试题,面试必问