1、准备相关的包

openssh下载地址:http://mirror.internode.on.net/pub/OpenBSD/OpenSSH/portable/

openssl相关包下载:http://www.openssl.org/source/

pam相关包下载:http://pkgs.org/centos-6/centos-x86_64/

zlib包下载: http://zlib.net/

首先看一下自身的ssh版本

#ssh -V :

openssh_5.3p1

2、安装zlib

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib && make && make install

3、安装openssl-fips

tar zxvf openssl-fips-2.0.12.tar.gz

cd openssl-fips

./config

make && make install

4、安装openssl

tar -zxvf openssl-1.0.1c.tar.gz

cd openssl-1.0.1c

./config fips --shared

make && make install

5、将新编译的openssl library 加入系统动态库链接中

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

ldconfig

6、安装pam,首先卸载旧版本

查看版本信息:rpm -qa|grep pam

卸载旧版本:rpm -e --nodeps
pam-1.1.1-17.el6.x86_64

安装pam:依次安装

rpm -ivh tcp_wrappers-devel-7.6-57.el6.x86_64.rpm

pam-1.1.1-20.el6_7.1.x86_64.rpm

pam-devel-1.1.1-20.el6_7.1.x86_64.rpm

7、安装OpenSSH

tar zxvf openssh-7.4p1.tar.gz

cd openssh-7.4p1

./configure \

--prefix=/usr \         //安装路径

--sysconfdir=/etc/ssh \       //配置文件路径

--with-md5-passwords \     //一种密钥,加密算法

--with-pam \      //编译pam文件

--with-tcp-wrappers \   //编译tcp—wrappers

--with-ssl-dir=/usr/local/ssl \   //openssl的路径(配置的时候可能会报错,根据实际路径写)

--with-zlib=/usr/local/zlib \     //编译zlib

--without-hardening

##配置报错"OpenSSL headers missing - please install first or check
config.log ***"的错误,这是缺少openssl-devel所致,只需安装openssl-devel即可,执行命令:yum
install openssl-devel

此处执行编译时可能报error: *** zlib.h missing - please install first or check
config.log ***"这是由于缺少zlib-devel所致,只需安装zlib-devel即可,执行命令:yum install
zlib-devel;

make && make install

8、加入到系统服务,重启sshd升级成功

chkconfig --add sshd

service sshd restart

重新启动报错:关闭selinux即可。

#ssh -V

openssh_7.4p1升级成功

#在升级完OpenSSH和OpenSSL后,SecureCRT无法SSH登录,但是Putty等工具可以正常登录;是因为 SSH和SSL升级后,取消了原先一些不太安全的加密算法,Clinet不支持新的算法所以无法交换密钥;建议要求客户升级SecureCRT版本至6.5或7.x,或更换最新版的Xshell、Putty等工具,即可正常登录

linux升级openssh7.4sp1的更多相关文章

  1. linux升级mysql到5.7

    原文:http://blog.csdn.net/qing_gee/article/details/41774265 Linux升级MySQL版本到5.7. 1.下载Linux的5.7版本,主要需要两个 ...

  2. 【转载】Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置

    [转载]Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置 1. 系统与软件版本 1.1 系统版本 rhel6.4(Red Hat Enterprise Linux Server r ...

  3. Linux 升级内核开启 TCP BBR 有多大好处

    前言 如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bot ...

  4. Linux升级命令yum upgrade和yum update的区别

    Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的: yum -y update 升级所有包同时也升级软件和系统内核 yum -y upgrade 只 ...

  5. Linux 部署或升级openssh7.5p1

    运维Linux系统,部署或升级openssh是经常面临的事,以下已redhat6和redhat7为例. 在redhat6中部署openssh会有什么坑,在编辑openssh源码包时会报一些类似的错误, ...

  6. centos7.5升级openssh7.4到7.9

    漏洞扫描工具扫描出openssh用户枚举漏洞,搜索资料得知无补丁和升级包,解决这个漏洞得安装漏洞修复之后的版本version>7.8. 环境 linux版本: CentOS Linux rele ...

  7. linux升级openssh到7.9

    客户linux主机ssh存在高危漏洞,需要进行升级修复. linux联网后,直接命令行: [root@gw ~]# yum update openssl -y 此命令只是小版本的升级,比如将opens ...

  8. CentOS 6.8升级OpenSSH7.7p

    近期因centos 6.x 默认openssh扫描存在大量漏洞,基于安全考虑,需要将openssh_5.3p1升级为最新版,网上查了很多教程,发现openssh存在大量依赖,不解决依赖问题很难保证其他 ...

  9. LInux升级Python版本2.7.11所遇问题汇总

    首先请原谅我使用校园网络,基本上打不开谷歌,网络搜取得帮助均来自度娘. 对于我这个linux新手 IT 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上 ...

随机推荐

  1. MySQL最常用字符串函数

    字符串函数 是最常用的的一种函数,在一个具体应用中通常会综合几个甚至几类函数来实现相应的应用: 1.LOWER(column|str):将字符串参数值转换为全小写字母后返回 mysql> sel ...

  2. JS属性描述符

    var myObject = { a:2 }; Object.getOwnpropertyDescriptor(myObject,"a"); { value:2, writable ...

  3. Lambda表达式效率问题

    原文 http://www.importnew.com/17262.html 有许许多多关于 Java 8 中流效率的讨论,但根据 Alex Zhitnitsky 的测试结果显示:坚持使用传统的 Ja ...

  4. css过渡模块和2d转换模块

    今天,我们一起来研究一下css3中的过渡模块.2d转换模块和3d转换模块 一.过渡模块transition (一)过度模块的三要素: 1.必须要有属性发生变化 2.必须告诉系统哪个属性需要执行过渡效果 ...

  5. iOS·UIKit & Foundation框架—Annotations & Category注解工具类

  6. ASP.NET Core开发之HttpContext

    ASP.NET Core中的HttpContext开发,在ASP.NET开发中我们总是会经常用到HttpContext. 那么在ASP.NET Core中要如何使用HttpContext呢,下面就来具 ...

  7. zoj1610线段树区间覆盖

    链接https://vjudge.net/contest/66989#problem/F 坑爹的线段树,一直用区间更新做,做了半天一点眉目都没有,只好搜题解,感觉好堕落,经常不会做就搜题解,以后一定要 ...

  8. map中结构体做关键字的注意事项

    序: 今天做一道题,由于递归函数比较恶心,如果用记忆化搜索,数据范围极大却又用不全(二维数组存的话直接炸).所以决定干脆使用stl::map存储(反正有O2优化),但是执行insert的时候,编译器却 ...

  9. IOS对话框UIAlertView

    //修改弹出对话框的样式 alertView.alertViewStyle = UIAlertViewStylePlainTextInput; //根据索引获取指定的某个文本框 [alertView ...

  10. SSH 远程执行任务

    SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进 ...