此文介绍的是服务器在有网络和无网络情况下升级openssh方式。

一、首先介绍一个无网络如何升级:

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/

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.5.tar.gz
  cd openssl-fips
  ./config
  make && make install

4、安装openssl

  tar -zxvf openssl-1.0.1h.tar.gz
  cd openssl-1.0.1h
  ./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.1p1.tar.gz
  cd openssh-7.1p1
  ./configure \
  --prefix=/usr \
  --sysconfdir=/etc/ssh \
  --with-md5-passwords \
  --with-pam \
  --with-tcp-wrappers \
  --with-ssl-dir=/usr/local/ssl \
  --with-zlib=/usr/local/zlib \
  --without-hardening
  make && make install

8、加入到系统服务,重启sshd升级成功
  chkconfig --add sshd
  service sshd restart

二、有网络情况下

1、tar zxvf openssh-7.1p1.tar.gz
  cd openssh-7.1
  ./configure --prefix=/usr --sysconfdir=/etc/ssh
  make
  make install

2、如果配置时出现如下环境问题:

configure: error: *** zlib.h missing - please install first or check config.log ***

  使用 yum install openssl openssl-devel -y 安装相关依赖包

3、配置成功,可以编译了,如果没有make环境,用如下命令安装一下即可
  yum install make automake gcc gcc-c++ gcc-g77 -y

4、上面的方法会覆盖原版本的文件,make install覆盖/etc/ssh下配置文件时可能会报错。这时删掉/etc/ssh下的原配置文件,再make install一次就可以了。

如果使用root远程无法登录,修改/etc/ssh/sshd_config

将 PermitRootLogin 参数改为yes。

这两种方法个人测试成功,如按上述无法实现请查阅相关问题或留言共同解决

centos升级openssh的两种方式的更多相关文章

  1. Redis实战(二)CentOS 7上Redis两种方式持久化

    Redis的持久化之RDB RDB方式是通过快照完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并且存储到硬盘上. 进行快照的条件在配置文件中指定,有2个参数构成:时间和改动的键的个 ...

  2. Centos修改IP的两种方式

    nmtui命令调出修改窗口:nmtui    重启网卡:/etc/init.d/network restart 或者:service network restart 方式二: 进入网络配置文件目录 首 ...

  3. yum和编译两种方式升级or降级Centos内核

    http://blog.51cto.com/renzhiyuan/1882599 今天探讨用yum和编译两种方式升级或者降级内核版本: 升级:比如玩kvm,docker等虚拟化,centos内核则升级 ...

  4. 设备程序远程升级采用两种方式(优先采用IP方式)

    设备程序远程升级采用两种方式(优先采用IP方式): 采用应急广播TS流传输技术规范的消息内容表携带升级包数据.当辅助数据类型值为44时,消息内容表传输的数据为程序升级包. 采用IP方式传输升级包数据. ...

  5. centos安装图形界面通常有两种方式

    centos安装图形界面通常有两种方式   1.通过系统安装,在配置选择软件界面,选择GNOME桌面模式.

  6. 自学Linux Shell9.2-基于Red Hat系统工具包存在两种方式之一:RPM包

    点击返回 自学Linux命令行与Shell脚本之路 9.2-基于Red Hat系统工具包存在两种方式之一:RPM包 本节主要介绍基于Red Had的系统(测试系统centos) 1. 工具包存在两种方 ...

  7. 制作Docker镜像的两种方式

    此文已由作者朱笑天授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.使用docker commit命令制作docker镜像 1. pull一个centos6.6的基础镜像, ...

  8. Android Studio签名打包的两种方式

    签名打包的两种方式: 注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行.签名就代表着自己的身份(即keystore),多个app可以使用同一个签名. 如 ...

  9. Ubuntu 安装 JDK 7 / JDK8 的两种方式

    ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...

随机推荐

  1. (转)resize扩展

    jquery 默认的resize只能监听到浏览器窗口大小的改变,但我们在实际使用过程中有可能还需要监听某个div或其它标签的大小改变来执行相应的处理,如果使用默认的resize就无能为力了.怎么办呢, ...

  2. mysql复习笔记

    阅读目录 1.什么是SQL语句2.使用sql语句创建数据库和表3.创建数据表4.数据完整性约束5.四中基本字符类型说明6.SQL基本语句7.类型转换函数8.日期函数9.数学函数10.字符串函数11.联 ...

  3. Java排序8大算法实现

    概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大, ...

  4. servlet从xml提取数据登陆

    在xml文档下可以设置参数的初始值,在这里把他当成了数据库在用 <servlet> <description>This is the description of my J2E ...

  5. nginx location

    1. “= ”,字面精确匹配, 如果匹配,则跳出匹配过程.(不再进行正则匹配) 2. “^~ ”,最大前缀匹配,如果匹配,则跳出匹配过程.(不再进行正则匹配) 3. 不带任何前缀:最大前缀匹配,举例如 ...

  6. .getBoundingClientRect()

    .getBoundingClientRect() 该方法获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置,他返回的是一个对象,即Object,该对象有4个属性:top,left,right, ...

  7. jQuery 源码基本框架

    抽丝剥茧, 7000+ 行的 jQuery 源码基本可以概括为以下的伪代码 (function (window, undefined) { //将 document 封装成 jQuery 对象并缓存 ...

  8. c# winfrom 委托实现窗体相互传值

    利用委托轻松实现,子窗体向父窗体传值. 子窗体实现代码: //声明委托 public delegate void MyDelMsg(string msg); //定义一个委托变量 public MyD ...

  9. PHP表单

    二.PHP表单 1.PHP表单处理 welcome.html <html> <body> <form action="welcome.php" met ...

  10. mvc的真实含义

    MVC是一个设计模式,它强制性的使应用程序的输入.处理和输出分开.使用 MVC应用程序被分成三个核心部件:模型(M).视图(V).控制器(C),它们各自处理自己的任务. 视图 : 视图是用户看到并与之 ...