一、环境描述


1)操作系统:CentOS 6.4 64位


2)Openssl版本:1.0.1e-15.el6,由于升级到openssh_6.7p1,需要OpenSSL的版本在0.9.8f以上,所以这里就不用升级openssl了。直接升级openssh就行了。


3)Openssh升级前版本:openssh-5.3p1-94.el6;Openssh升级后版本:openssh_6.7p1(源码安装)


4)连接工具xshell 4。要预防超时断开连接。


二、升级sshd到OpenSSH-6.7并删除老版本ssh


1)升级前准备


下载openssh-6.7p1.tar.gz


http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz


备份ssh配置文件 :


# mv /etc/ssh /etc/ssh.bak


查看是否缺包


# rpm -qa | egrep "gcc|make|perl|pam|pam-devel|zlib|zlib-devel"


如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。


yum -y install gcc* make perl pam pam-devel zlib zlib-devel


先卸载完旧版本的openssh


# rpm -e `rpm -qa | grep openssh`


在虚拟机上安装了个CentOS6.5,顺便升级一下系统自带的openssh,任何系统操作都有风险,正式环境请做好备份工作。


    1、准备工作,相应的包

    自己到官方下载,另外需要下载依赖包openssl以及zlib包。


    openssh下载地址:http://www.openssh.com/portable.html#http


    openssl下载地址:http://www.openssl.org/source/


    zlib下载地址:http://zlib.net/zlib-1.2.8.tar.gz


    


    2、卸载系统自带的openssh,卸载之前先停止sshd服务,再用rpm删除,同时清除系统/etc/ssh目录



[root@CentOS tmp]# service sshd stop

Stopping sshd:                                             [  OK  ] 

[root@CentOS tmp]# rpm -qa openssh

openssh-5.3p1-94.el6.x86_64

[root@CentOS tmp]# rpm -e openssh-server

[root@CentOS tmp]# rpm -e openssh-clients

[root@CentOS tmp]# rpm -e openssh-askpass

[root@CentOS tmp]# rpm -e openssh

[root@CentOS tmp]# rm -rf /etc/ssh

    3、安装zlib

[root@CentOS tmp]# tar -xvf zlib-1.2.8.tar.gz 

[root@CentOS tmp]# cd zlib-1.2.8

[root@CentOS zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install

    4、安装openssl


[root@CentOS tmp]# tar -xvf openssl-1.0.1i.tar.gz 

[root@CentOS tmp]# cd openssl-1.0.1i

[root@CentOS openssl-1.0.1i]# ./config --prefix=/usr/local/openssl && make && make install

    5、安装openssh


[root@CentOS tmp]# tar -xvf openssh-6.6p1.tar.gz

[root@CentOS tmp]# cd openssh-6.6p1

[root@CentOS openssh-6.6p1]# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-


zlib=/usr/local/zlib --with-md5-passwords --without-hardening && make && make install

    6、修改配置文件


[root@CentOS openssh-6.6p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd

[root@CentOS openssh-6.6p1]# chmod +x /etc/init.d/sshd 

[root@CentOS openssh-6.6p1]# vi /etc/init.d/sshd


修改对应指令的安装目录

=============================

25行    SSHD=/usr/sbin/sshd 为 SSHD=/usr/local/openssh/sbin/sshd

41行    /usr/bin/ssh-keygen -A 为 /usr/local/openssh/bin/ssh-keygen -A

=============================

保存退出

    7、加入到系统服务


[root@CentOS openssh-6.6p1]# chkconfig --add sshd

[root@CentOS openssh-6.6p1]# service sshd start