一、环境描述
1)操作系统:CentOS 5.5 64位
2)Openssl升级前版本:openssl 0.9.8e
3)Openssl升级后版本:openssl 1.0.1j(源码安装)
4)Openssh升级前版本:openssh-4.3p2-41.el5
5)Openssh升级后版本:openssh_6.7p1(源码安装)
6)连接工具xshell 4
二、安装Dropbear代替OpenSSH
安装dropbear只是为了在升级失败sshd启动不起来时,依然可以登录系统。也可以用其他工具代替,比如telnet
1)下载dropbear安装包
https://matt.ucc.asn.au/dropbear/releases/dropbear-2014.66.tar.bz2
2)检查安装依赖包
yum install zlib* gcc make
3)编译安装dropbear
# tar jxf dropbear-2014.66.tar.bz2
# cd dropbear-2014.66
# ./configure
# make && make install
检查生成的文件是否正确:
4)生成证书
# /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
# /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key
5)启动dropbear
# /usr/local/sbin/dropbear -p 2222 //监听2222端口
查看是否启动成功:
三、升级OpenSSL到openssl-1.0.1j,并删除老版本
1)升级前准备
下载openssl-1.0.1j
http://www.openssl.org/source/openssl-1.0.1j.tar.gz
2)删除旧版本
#rpm -e `rpm -qa | grep openssl` –allmatches –nodeps
3)安装openssl, 一定记得加上–shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
# ./config –prefix=/usr –shared
# make
# make test
# make install
完毕后查看openssl版本安装是否正确
四、升级sshd到OpenSSH-6.7并删除老版本ssh
1)升级前准备
查看是否缺包
# rpm -qa | egrep “gcc|make|perl|pam|pam-devel”
如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。
yum -y install gcc* make perl pam pam-devel
2)下载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
# openssl version -a
3)编译安装新版本openssh
# tar zxf openssh-6.7p1.tar.gz && cd openssh-6.7p1
# ./configure –prefix=/usr –sysconfdir=/etc/ssh –with-pam –with-zlib –with-md5-passwords
# make
先卸载完旧版本的openssh,再make install
# rpm -qa | grep openssh
# rpm -e `rpm -qa | grep openssh`
Openssh-askpass是用于图形界面下输入口令的,用不着可以不装
# make install
4)查看是否升级到新版本
5)复制启动脚本到/etc/init.d
# cp /root/openssh-6.7p1/contrib/RedHat/sshd.init /etc/init.d/sshd
加入开机自启
# chkconfig –add sshd
6)启动sshd,用start或reload。不要restart,restart 会直接断开连接,而并不会接着启动sshd服务,这时候要通过其他途径进入机器,然后启动sshd服务才行。
四、删除dropbear。
在xshell里再重新打开一个标签,
在这里Dropbear用来防止升级不成功,用来替代openssh连接服务器。
在开启2222端口(dropbear启动时的端口,可以设置别的 )的情况下,通过xshell连接的方法是:
Xshell:\> ssh 192.168.4.1 2222 (192.168.4.1为需要连接的服务器ip)
删除dropbear安装的文件,并杀掉进程
# rm -rf /etc/dropbear/ /usr/local/sbin/dropbear /usr/local/bin/dropbear*
通过OpenSSL提供FTP+SSL/TLS认证功能,并实现安全数据传输 http://www.linuxidc.com/Linux/2013-05/84986.htm
加密算法浅析及OpenSSL,OpenSSH使用 http://www.linuxidc.com/Linux/2014-08/105386.htm
在Ubuntu Server 13.10系统中安装配置OpenSSH http://www.linuxidc.com/Linux/2014-02/96953.htm
Ubuntu安装远程登录OpenSSH服务 http://www.linuxidc.com/Linux/2014-02/97218.htm
通过OpenSSH远程登录时的延迟问题解决 http://www.linuxidc.com/Linux/2013-07/86879.htm
Ubuntu 12.10下OpenSSH的离线安装方法 http://www.linuxidc.com/Linux/2013-04/82814.htm
OpenSSH升级步骤及注意事项详解 http://www.linuxidc.com/Linux/2013-04/82123.htm
OpenSSH普通用户无法登录的几种情况的解决方法 http://www.linuxidc.com/Linux/2012-05/59457.htm
通用线程: OpenSSH 密钥管理,第 1 部分理解 RSA/DSA 认证 http://www.linuxidc.com/Linux/2011-08/39871.htm
RedHat安装OpenSSH和配置sftp锁定目录 http://www.linuxidc.com/Linux/2012-12/75398.htm
OpenSSL 的详细介绍:请点这里
OpenSSL 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-12/110466.htm