此文介绍的是服务器在有网络和无网络情况下升级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. 【转】到底EJB是什么

    [转]到底EJB是什么 到底EJB是什么?被口口相传的神神秘秘的,百度一番,总觉得没有讲清楚的,仍觉得一头雾水.百度了很久,也从网络的文章的只言片语中,渐渐有了头绪. 用通俗话说,EJB就是:&quo ...

  2. [O] SQLite数据库报错:no such column

    在SQLite数据库创建语句增加列,运行后报错:no such column 在语法规范的前提下,即 //SQLite数据库创建,逗号与空格须严格 String CREATE_NOTE = " ...

  3. 对xml操作

    已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...

  4. windows下eclipse+hadoop2

    windows下eclipse+hadoop2.4开发手册 1.解压下载的hadoop2.4,到任意盘符,例如D:\hadoop-2.4.0. 2.设置环境变量 ①新建系统变量,如下所示. ②将新建的 ...

  5. Ojbect-C2 3、NSArray和NSMutableArray数组的使用

    Adopted Protocols NSCoding encodeWithCoder: initWithCoder: NSCopying copyWithZone: NSMutableCopying ...

  6. iOS 获取通讯录里边的电话号码AddressBook

    1  首先导入库 <AddressBook/AddressBook.h> 2 然后在导入#import <AddressBook/AddressBook.h>文件 3 声明   ...

  7. javascript——归并方法

    <script type="text/javascript"> //ECMAScript5 还新增了2个归并数组的方法:reduce()和reduceRight(). ...

  8. js编译和执行顺序

    JS是一段一段执行的(以<script>标签来分割),执行每一段之前,都有一个“预编译”,预编译干的活是:声明所有var变量(初始为undefined),解析定义式函数语句. 还有个关于 ...

  9. C# RSA

    using System; using System.Security.Cryptography; using System.Text; class RSACSPSample { static voi ...

  10. asp.net中后台javaScrip的使用

    ClientScriptManager csm = Page.ClientScript;        //Script标记靠近<form>标签        //csm.Register ...