记录一次RedHat6.5升级openssl&openssh踩坑填坑。由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本。

注意事项:

  1. 先升级openssl,后升级openssh
  2. 升级期间注意打开多个ssh窗口,以防断开后不能连接。最好先安装好telnet-server、xinetd、vsftpd 确保升级过程中ssh及ftp能正常连接及上传文件
  3. 确保gcc命令,zlib库等都已经安装。

踩坑填坑:

  1. 由于这次是第一次向机房那边申请的服务器,没曾想gcc命令、zlib库都是没有的,需要我们自己在网上找合适版本的rpm包上传安装。
    1. 升级openssl第3步由于没装gcc命令导致执行报错,后面收集到一份完整的gcc需要rpm包安装后一路 “绿灯” openssl完美升级。
    2. 升级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升级

  1. 解压openssl-1.0.2q.tar.gz

    tar zxvf openssl-1.0.2q.tar.gz
  2. 进入解压的目录

    cd openssl-1.0.2q
  3. 配置Openssl(一定要确保已经安装了gcc命令)

    ./config --prefix=/usr/local/openssl --shared
  4. 编译安装

    make && make install
  5. 查看/usr/local/openssl目录是否生成文件

    # ls /usr/local/openssl
    
    bin  include  lib  ssl
  6. 在/etc/ld.so.conf文件的最后面,添加如下内容

    vi /etc/ld.so.conf
    /usr/local/openssl/lib
  7. 使ld.so.conf配置文件生效

    ldconfig
  8. 添加OPESSL的环境变量

    在/etc目录下的profile文件的最后一行,添加:

    vi /etc/profile
    
    export OPENSSL=/usr/local/openssl/bin
    
    export PATH=$OPENSSL:$PATH:$HOME/bin
  9. 使环境生效

    source /etc/profile
  10. 查看openssl版本号(确保版本号为刚刚升级的版本)

    # openssl version
    
    OpenSSL 1.0.2q  20 Nov 2018

    到此openssl已经完成升级。博主在升级openssl时由于机房给的纯净的RedHat系统gcc环境没有,所以第三步报错了,博主整理好了gcc环境需要的rpm包,进入gcc目录执行./install-gcc.sh命令,安装完成后查看gcc版本命令:gcc -v


  • OpenSSH升级

  1. 创建配置文件备份目录

    mkdir /etc/sshbak
  2. 备份原来的ssh配置文件

    mv /etc/ssh/* /etc/sshbak
  3. 备份原来的ssh启用脚本

    mv /etc/init.d/sshd /etc/init.d/sshdbak
  4. 解压openssh-7.9p1.tar.gz

    # tar -zxvf openssh-7.9p1.tar.gz
  5. 进入解压目录

    cd openssh-7.9p1
  6. 配置openssh

    ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl
  7. 编译安装

    make && make install
  8. 复制启动脚本到/etc/init.d

    cp -a contrib/redhat/sshd.init /etc/init.d/sshd
  9. 查看/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
  10. 开启允许root管理员登录

    修改配置文件:

    vi /etc/ssh/sshd_config
    
    找到#PermitRootLogin prohibit-password
    
    在下面一行添加PermitRootLogin yes
    
    PermitRootLogin yes
  11. 重启sshd服务

    service sshd restart
  12. 查看ssh版本(确保版本为升级的版本)

    # ssh -V
    
    OpenSSH_7.9p1, OpenSSL 1.0.2q  20 Nov 2018

    博主第6步执行报错,由于没有zlib库,需要先安装。安装后续操作也是一路顺畅、到此openssh也完美离线升级,记录一下希望可以帮到有需要的人(由于我这边网络安全限制机房不能连接外网,离线环境安装是真的麻烦)升级需要的rpm包我都已上传到博客。

实战redhat6.5离线升级openssl&openssh的更多相关文章

  1. Centos6.5 升级Openssl + Openssh

    xu言: 平时很懒,都不想写blog.今天(2018.05.15)开始尝试每天写一篇吧,看我自己能坚持多久! 准备工作: 为了防止在操作过程中导致ssh远程中断,首先安装一个telnet-server ...

  2. CentOS7源码升级OpenSSL和OpenSSH

    一.CentOS7升级OpenSSL 1.查看ssl版本及下载相关依赖包 openssl version -a yum install -y gcc openssl-devel pam-devel r ...

  3. centos7升级openssl、openssh常见问题及解决方法

    升级至openssl 1.1.1版本 升级至openssh 8.0版本 openssl version -a   当前查看版本 一.安装telnet (以防升级失败,连不上服务器,建议弄) #查看是否 ...

  4. 升级openssl和openssh版本

    一.安装telnet-server服务(建议安装) 1. 查看系统是否已安装telnet-server,linux系统上默认已经安装telnet-client(或telnet),而telnet-ser ...

  5. 升级openssl

    升级openssl 依赖openssl的软件,如果是静态编译openssl,那么需要重新编译软件,如果是利用openssl的so动态库,那么只需要替换一下so文件并重启软件即可 openssh也依赖o ...

  6. Linux下升级openssl

    公司由于使用第三方漏洞扫描,检测出openssh存在漏洞,升级openssh后仍无效果,于是升级openssl 系统信息: 依赖软件:make.gcc.zlib1g-dev 升级步骤: 1.去官网下载 ...

  7. 升级openssl环境至openssl-1.1.0c

    升级openssl环境至openssl-1.1.0c1.查看源版本 [root@zj ~]# openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013 2.下 ...

  8. centos 5.x 升级openssl

    今日想在centos 5.2上面安装mysql 5.5.37,在make的时候提示: Linking C shared module adt_null.so [ 65%] Built target a ...

  9. Android Studio下载及离线升级方法

    由于众所周知的原因,android官网无法访问,所以我们要用到翻.墙.工具,我用的是自.由.门,大家自行搜索下载. android studio下载地址: https://dl.google.com/ ...

随机推荐

  1. 不为人知的easy-mock-cli

    初识easy-mock-cli,始于一场缘分 在谈及easy-mock-cli的时候,先说一下easy-mock是什么把?官方解释是:Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久 ...

  2. 《C# 语言学习笔记》——目录

    C# 简介 变量和表达式 流程控制 3.1 布尔逻辑 3.2 goto语句 3.3 分支 3.4 循环 变量的更多内容 4.1 类型转换 4.2 复杂的变量类型 4.3 字符串的处理 函数 5.1 定 ...

  3. Python基础之str常用方法、for循环

    初学python,有些地方可能还不够明白,希望各位看官发现我的错误后留言指正! 一.字符串的索引与切片 注:字符串的第一位的索引值是0 1.索引案例 s = 'abcd' s1 = s[0] prin ...

  4. python课堂整理8---字符串格式化

    一.字符串格式化(% 和 format) 1. % s  主要接收字符串类型,也可以接收任意类型 tp1 = "i am %s my hobby is alex" % 'lhf' ...

  5. Number() 与 parseInt()解析

    在 Python 中,将字符串转为整型变量的函数是 int() ,直接使用 int("123")就可以得到 123的输出结果,这样可以比较快速的得到我们想要的结果,在 js 中将 ...

  6. Python基础总结之认识lambda函数、map函数、filter() 函数。第十二天开始(新手可相互督促)

    今天周日,白天在学习,晚上更新一些笔记,希望对大家能更好的理解.学习python~ lambda函数,也就是大家说的匿名函数.它没有具体的名称,也可以叫做一句话函数,我觉得也不过分,大家看下代码,来体 ...

  7. hive分桶表bucketed table分桶字段选择与个数确定

    为什么分桶 (1)获得更高的查询处理效率.桶为表加上了额外的结构,Hive 在处理有些查询时能利用这个结构.具体而言,连接两个在(包含连接列的)相同列上划分了桶的表,可以使用 Map 端连接 (Map ...

  8. MariaDB 修改存储路径后启动失败问题解决

    修改 MariaDB 路径到 home 路径下, 执行 systemctl start mariadb 启动MariaDB 时,报错提示: Job for mariadb.service failed ...

  9. 08_代码块丶继承和final

    Day07笔记 课程内容 1.封装 2.静态 3.工具类 4.Arrays工具类 封装 概述 1.封装:隐藏事物的属性和实现细节,对外提供公共的访问方式 2.封装的好处: 隐藏了事物的实现细节 提高了 ...

  10. Assign the task HDU - 3974 (dfs序 + 线段树)

    有一家公司有N个员工(从1到N),公司里每个员工都有一个直接的老板(除了整个公司的领导).如果你是某人的直接老板,那个人就是你的下属,他的所有下属也都是你的下属.如果你是没有人的老板,那么你就没有下属 ...