升级openSSH到最新版

升级openSSH到最新版,须要当心谨慎一点,由于,错误操做,有可能形成不能远程登陆。最好是,安装到不一样的目录,而后再中止旧的ssh服务,启用新的ssh服务。ssh

大体的步骤以下,搜索引擎

编译安装新的openSSH,.net

追加新的ssh服务到系统,code

启动新的ssh服务。blog


1.编译安装新的openSSH,索引

要编译安装新的openSSH,如今是7.2p2版本,须要先安装新版本的openSSL,如今是1.0.2g版本。在编译过程当中,会发现缺乏的开发包,好比zlib,须要提早安装好。ssl

大体过程以下,开发

cd openssl-1.0.2g/
./config shared
make depend
make && make test && make install
openssl


2.追加新的ssh服务到系统,it

首先取得ssh服务脚本,在openSSH安装目录里面,有contrib目录,里面存放了一些发行版的服务运行脚本,好比redhat或者suse的,根据须要拷贝对应文件到相应的目录便可。

./configure --with-ssl-dir=/usr/local/openssl
make && make install

若是报错,找不到so的话,能够做以下处理,

echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
ldconfig

修改旧的ssh服务,

cd /etc/init.d;mv sshd sshd.old

拷贝安装目录中的服务脚本到/etc/init.d


2.启动新的ssh服务。


/etc/init.d/sshd.old stop;/etc/init.d/sshd start
重启后,确认启动的openSSH 和openSSL版本是否正确。
/usr/local/sbin/sshd -v

若是显示的openSSL和openSSH版本正确,则完成了升级。
若是显示的版本不是最新版本,请修改相应的配置文件,以使得openSSH使用正确的openSSL版本。
编译安装过程当中,遇到问题,先查看安装目录中的INSTALL和/或者BUILD文件,看看是否编译的需求条件不具有。若是条件都具有,能够把出现的错误信息放到搜索引擎上去搜索一下,通常很快会找到解决方案。
安装后,openSSH默认关闭了交互密码认证和root直接登陆。若是有须要能够暂时打开这两个限制。
PasswordAuthentication yes
ChallengeResponseAuthentication yes
PermitRootLogin yes




参考
1. Linux下ssh升级安装配置 http://blog.csdn.net/luojiafei/article/details/7262796
2. 使用最新openssl 1.0.1h 编译安装 openssh 6.6p1   http://zjwsk.blog.163.com/blog/static/598306132014313112351/