实战redhat6.5离线升级openssl&openssh
记录一次RedHat6.5升级openssl&openssh踩坑填坑。由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本。
注意事项:
- 先升级openssl,后升级openssh
- 升级期间注意打开多个ssh窗口,以防断开后不能连接。最好先安装好telnet-server、xinetd、vsftpd 确保升级过程中ssh及ftp能正常连接及上传文件
- 确保gcc命令,zlib库等都已经安装。
踩坑填坑:
- 由于这次是第一次向机房那边申请的服务器,没曾想gcc命令、zlib库都是没有的,需要我们自己在网上找合适版本的rpm包上传安装。
- 升级openssl第3步由于没装gcc命令导致执行报错,后面收集到一份完整的gcc需要rpm包安装后一路 “绿灯” openssl完美升级。
- 升级openssh第6步发现没安装zlib库导致执行报错,由于第2步、第3步由于吧ssh相关文件移动备份到新的文件夹,发现sftp连接不上了,不能上传zlib库的包...这里我利用了同一网段我的其他web应用服务器吧zlib升级需要的安装包上传上去了,在RedHat6.5用wget命令下载了web服务器上的更新包,安装升级后也是一路 “绿灯” openssh完美升级。
升级包及rpm包下载地址:
- gcc:https://www.lanzous.com/i5uy81i
- zlib-1.2.11:https://files.cnblogs.com/files/fxcoding/zlib-1.2.11.tar.gz
- openssh-7.9p1:https://files.cnblogs.com/files/fxcoding/openssh-7.9p1.tar.gz
- openssl-1.0.2q:https://files.cnblogs.com/files/fxcoding/openssl-1.0.2q.tar.gz
Openssl升级
解压openssl-1.0.2q.tar.gz
tar zxvf openssl-1.0.2q.tar.gz
进入解压的目录
cd openssl-1.0.2q
配置Openssl(一定要确保已经安装了gcc命令)
./config --prefix=/usr/local/openssl --shared
编译安装
make && make install
查看/usr/local/openssl目录是否生成文件
# ls /usr/local/openssl bin include lib ssl
在/etc/ld.so.conf文件的最后面,添加如下内容
vi /etc/ld.so.conf
/usr/local/openssl/lib使ld.so.conf配置文件生效
ldconfig
添加OPESSL的环境变量
在/etc目录下的profile文件的最后一行,添加:
vi /etc/profile export OPENSSL=/usr/local/openssl/bin export PATH=$OPENSSL:$PATH:$HOME/bin
使环境生效
source /etc/profile
查看openssl版本号(确保版本号为刚刚升级的版本)
# openssl version OpenSSL 1.0.2q 20 Nov 2018
到此openssl已经完成升级。博主在升级openssl时由于机房给的纯净的RedHat系统gcc环境没有,所以第三步报错了,博主整理好了gcc环境需要的rpm包,进入gcc目录执行./install-gcc.sh命令,安装完成后查看gcc版本命令:gcc -v

OpenSSH升级
创建配置文件备份目录
mkdir /etc/sshbak
备份原来的ssh配置文件
mv /etc/ssh/* /etc/sshbak
备份原来的ssh启用脚本
mv /etc/init.d/sshd /etc/init.d/sshdbak
解压openssh-7.9p1.tar.gz
# tar -zxvf openssh-7.9p1.tar.gz
进入解压目录
cd openssh-7.9p1
配置openssh
./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl
编译安装
make && make install
复制启动脚本到/etc/init.d
cp -a contrib/redhat/sshd.init /etc/init.d/sshd
查看/etc/ssh目录下是否存在配置文件
# ls /etc/ssh moduli sshd_config ssh_host_dsa_key.pub ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub ssh_config ssh_host_dsa_key ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
开启允许root管理员登录
修改配置文件:
vi /etc/ssh/sshd_config 找到#PermitRootLogin prohibit-password 在下面一行添加PermitRootLogin yes PermitRootLogin yes
重启sshd服务
service sshd restart
查看ssh版本(确保版本为升级的版本)
# ssh -V OpenSSH_7.9p1, OpenSSL 1.0.2q 20 Nov 2018
博主第6步执行报错,由于没有zlib库,需要先安装。安装后续操作也是一路顺畅、到此openssh也完美离线升级,记录一下希望可以帮到有需要的人(由于我这边网络安全限制机房不能连接外网,离线环境安装是真的麻烦)升级需要的rpm包我都已上传到博客。

实战redhat6.5离线升级openssl&openssh的更多相关文章
- Centos6.5 升级Openssl + Openssh
xu言: 平时很懒,都不想写blog.今天(2018.05.15)开始尝试每天写一篇吧,看我自己能坚持多久! 准备工作: 为了防止在操作过程中导致ssh远程中断,首先安装一个telnet-server ...
- CentOS7源码升级OpenSSL和OpenSSH
一.CentOS7升级OpenSSL 1.查看ssl版本及下载相关依赖包 openssl version -a yum install -y gcc openssl-devel pam-devel r ...
- centos7升级openssl、openssh常见问题及解决方法
升级至openssl 1.1.1版本 升级至openssh 8.0版本 openssl version -a 当前查看版本 一.安装telnet (以防升级失败,连不上服务器,建议弄) #查看是否 ...
- 升级openssl和openssh版本
一.安装telnet-server服务(建议安装) 1. 查看系统是否已安装telnet-server,linux系统上默认已经安装telnet-client(或telnet),而telnet-ser ...
- 升级openssl
升级openssl 依赖openssl的软件,如果是静态编译openssl,那么需要重新编译软件,如果是利用openssl的so动态库,那么只需要替换一下so文件并重启软件即可 openssh也依赖o ...
- Linux下升级openssl
公司由于使用第三方漏洞扫描,检测出openssh存在漏洞,升级openssh后仍无效果,于是升级openssl 系统信息: 依赖软件:make.gcc.zlib1g-dev 升级步骤: 1.去官网下载 ...
- 升级openssl环境至openssl-1.1.0c
升级openssl环境至openssl-1.1.0c1.查看源版本 [root@zj ~]# openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013 2.下 ...
- centos 5.x 升级openssl
今日想在centos 5.2上面安装mysql 5.5.37,在make的时候提示: Linking C shared module adt_null.so [ 65%] Built target a ...
- Android Studio下载及离线升级方法
由于众所周知的原因,android官网无法访问,所以我们要用到翻.墙.工具,我用的是自.由.门,大家自行搜索下载. android studio下载地址: https://dl.google.com/ ...
随机推荐
- java中的堆、栈、方法区等比较
• 堆.栈.方法区 1. java中的栈(stack)和堆(heap)是java在内存(ram)中存放数据的地方 2. 堆区 存储的全部是对象,每个对象都包含一个与之对应的class的信息.(clas ...
- PHP对接口执行效率慢的优化
PHP对接口执行效率慢的优化 PHP对接口执行效率慢的优化 造成执行效率低的原因可以由很多方面找原因 从代码层面,代码质量低,执行效率也会有很大影响的. 从硬件方面,服务器配置低,服务器配置是基础,这 ...
- 浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释
浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释 下面小编就为大家带来一篇浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释.小编觉得挺不错的,现在就分享给 ...
- javascript基础学习第一天
Javascript 发展过程: 1.出现:为了解决用户和游览器之间的交互. 2.概念:基于对象和事件驱动,运行在游览器客户端的脚本语言. -js在游览器中运行的.(js引擎:执行js代码) -事件: ...
- Oracle 数据库登录、用户解锁、改密码、创建用户授权操作
一.数据库登录1.常用账户: 管理员: sys主要练习操作用户: scott2.测试环境是否配置成功: 1.命令窗口 win+R -> cmd(以管理员身份运行) - > sqlplus ...
- 第一章: 初识Java
计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版) JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2.编译 3 ...
- python模块知识二 random -- 随机模块、序列化 、os模块、sys -- 系统模块
4.random -- 随机模块 a-z:97 ~ 122 A-Z :65 ~ 90 import random #浮点数 print(random.random())#0~1,不可指定 print( ...
- Python开发异步任务Celery的使用教程!
1. 生产者消费者设计模式 最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联.我们称这一解耦方式为:生产者消费者设计模式 2.中间人broker 示例:此处演示Redis ...
- 浅谈 ASCII、Unicode、UTF-8,一目了然
对于ASCII.Unicode.UTF-8这三种编码方式我们经常用到,也经常挂到嘴边,但他们是怎么来的,为什么要存在,具体是怎么个规则,我们并没有做深入了解,下面,就带你看一下他们到底是怎么回事吧…… ...
- Python基础总结之初步认识---clsaa类(上)。第十四天开始(新手可相互督促)
最近的类看着很疼,坚持就是胜利~~~ python中的类,什么是类?类是由属性和方法组成的.类中可能有很多属性,以及方法. 我们这样定义一个类: 前面是class关键字 后面school是一个类的名字 ...