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. 使用Spring标签<form:textarea>时,用readonly=“readonly”属性时不起作用。

    最近的一个项目用到了Spring标签<form:textarea>,当在设置其只读属性时,使用readonly="readonly"不起作用,还是能修改内容. 在网上找 ...

  2. [.NET产品源码保护].NET防止反编译(非混淆加密)

    .NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管 ...

  3. C# 事务之SqlTransaction

    private static void Execute(string connectionString) { using (SqlConnection connection = new SqlConn ...

  4. Linq: Aggregate

    Aggregate累加器 今天看东西的时候看见这么个扩展方法Aggregate(累加器)很是陌生,于是乎查了查,随手记录一下. 直接看一个最简答的版本,其他版本基本没什么区别,需要的时候可看一下 pu ...

  5. C#小知识点记录,对象的深拷贝

    在CSDN中的定义是: public static string CompareExchange( ref string location1, string value, string compara ...

  6. phpcms添加视频

    phpcms添加视频分为三种情况,一种是在首页播放,一种是在列表页播放,另一种是在内容页播放.其中在首页播放和在列表页播放的区别就是catid值是固定的还是取得当前catid的区别.而在首页和列表页播 ...

  7. json数据渲染表单元素出现的问题

    解析页面表单元素 parseForm: function () { var data = {}; $(this).find('input').each(function () { switch ($( ...

  8. [ext4]空间管理 - 查找块

     在文件系统中,当需要执行写操作时,肯定是需要查找需要写入的块.那么如何查找块哪? 在Ext4系统中,有两个函数是可能执行查找操作的:ext4_getblk().ext4_get_block(). ...

  9. register_sysctl_table实现内核数据交互

    作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. Sysctl是一种用户应用来设置和获得运行时内核的配置参数的一种有效方式,通 ...

  10. iOS刨根问底-深入理解RunLoop

    开源的RunloopRef 通常所说的RunLoop指的是NSRunloop或者CFRunloopRef,CFRunloopRef是纯C的函数,而NSRunloop仅仅是CFRunloopRef的OC ...