Linux下OpenSSH版本升级
一、OpenSSH升级前需要准备的工作如下:
(1)下载最新版本的OpenSSH安装包(当前最新版本为2014年3月15日更新的openssh-6.6p1.tar.gz),
下载地址:ftp://https://www.sodocs.net/doc/7b14480259.html,/pub/OpenBSD/OpenSSH/portable/
(2)如果是在本机上操作,请直接关闭SSH服务;如果是远程操作,请先开启Telnet的服务,再关闭SSH服务;
SSH服务的开启和关闭方法:
#service sshd start或者#/etc/init.d/sshd start 开启ssh服务;
#service sshd stop或者#/etc/init.d/sshd stop 开启ssh服务;
Telnet服务的开启和关闭方法:
(3)将下载好的OpenSSH包上传到需要升级的服务器上。
(4)检查OpenSSL和Zlib版本,openssh-6.6p1要求在OpenSSL的版本在1.0.1以上,Zlib的版本在1.2.5以上。查看相关命令如下:
#rpm -qa|grep openssl 查看OpenSSL的版本
#rpm -qa|grep zlib 查看Zlib的版本
(5)如果OpenSSL和Zlib版本无法满足OpenSSH升级需求,则需要进行相应的版本升级,升级步骤如下:
◆下载OpenSSL和Zlib:
https://www.sodocs.net/doc/7b14480259.html,/source/openssl-1.0.1i.tar.gz //下载OpenSSL
https://www.sodocs.net/doc/7b14480259.html,/distfiles/zlib-1.2.5.tar.bz2 //下载Zlib
◆将OpenSSL和Zlib安装包上传到需要升级的服务器上;
◆安装Zlib:
#tar -jxvf zlib-1.2.5.tar.bz2 //首先安装zlib库,否则会报zlib.c错误无法进行
#cd zlib-1.2.5
#./configure
#make
#make install
安装OpenSSL:
#tar -zxvf openssl-1.0.1i.tar.gz
#cd openssl-1.0.1i
#./config shared zlib
#make
#make test
#make install
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
//移走原先系统自带的openssl,将自己编译产生的新文件进行链接配置库文件搜索路径
# echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
# /sbin/ldconfig -v
# openssl version -a
(6)安装完成后再参考上面的步骤检查OpenSSL和Zlib的版本。
二、OpenSSH升级
(1)备份好之前SSH的相关配置文件:
# cp /etc/ssh /etc/ssh_bak
# cp -r /etc/ssh /etc/ssh_bak //强制备份
(2)关闭SSH服务;
(3)在安装之前需要卸载系统里原Openssh 相关包:
#rpm –qa|grep openssh //查询系统原安装的openssh包,全部卸载#rpm -e openssh --nodeps
#rpm -e openssh-server --nodeps
#rpm -e openssh-clients --nodeps
#rpm -e openssh-askpass
(4)安装新版本的OpenSSH-6.6p1的步骤:
#tar zxvf openssh-6.6p1.tar.gz
#cd openssh-6.6p1
#./configure --prefix=/usr --sysconfdir=/etc/ssh --without-zlib-version-check
//指定安装目录,同时不检查zlib版本。
注:在配置的过程中一定要确保没有错误提示,这样才能进行后续的编译。
#make //编译
#make install //安装
(7)使用命令ssh –V验证升级是否成功。
(8)vi /etc/ssh/sshd_config
设置Protocol 2 //指定协议版本2
设置PermitRootLogin no //禁止root账号远程登录
(9)service sshd start或者/etc/init.d/sshd start开启ssh服务
(10)关闭telnet服务。