此文介绍的是服务器在有网络和无网络情况下升级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 -xvf zlib-1.2.8.tar.gz 
     cd zlib-1.2.8
     ./configure --prefix=/usr/local/zlib && make && make install
3、安装openssl-fips
     tar zxpf openssl-fips-2.0.5.tar.gz
     cd openssl-fips
     ./config
     make && make install
4、安装openssl
  tar -xvf 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 zxpf 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 xvf 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。
这两种方法个人测试成功,如按上述无法实现请查阅相关问题或留言共同解决
原文:http://www.cnblogs.com/yinchengzhe/p/5064591.html