本例使用CentOS6.6

原SSH版本为5.3P1

一、准备好需要升级到的新版本的软件包

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

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

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

注意:openssl的1.1.x版本存在兼容问题,试验安装失败多次;本例使用:

openssh-7.3p1.tar.gz

openssl-1.0.1u.tar.gz

zlib-1.2.8.tar.gz

二、操作之前

做好相关备份,开启telnet有备无患,确保安全生产

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

   /etc/init.d/sshd stop
rpm -qa openssh
rpm -e openssh-server
rpm -e openssh-clients --nodeps ##如有依赖关系问题使用nodeps
rpm -e openssh-askpass
rpm -e openssh
rm -rf /etc/ssh

四、安装zlib

   tar -xvf zlib-1.2..tar.gz
cd zlib-1.2.
./configure --prefix=/usr/local/zlib
make
make install

五、安装openssl

   tar -xvf openssl-1.0.1u.tar.gz
cd openssl-1.0.1u
./config --prefix=/usr/local/openssl
make
make install

六、安装openssh

   gunzip openssh-.3p1.tar.gz
tar xvf openssh-.3p1.tar
cd openssh-.3p1
./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
cp contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
vi /etc/init.d/sshd

七、修改配置文件

 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
=============================
保存退出

八、加入到系统服务,更新环境变量

   chkconfig --add sshd
service sshd start vim /etc/profile
export PATH="/usr/local/openssh/bin:$PATH"
source /etc/profile ssh -V #查看版本更新成功

编译中遇到的错误,参考博文http://zjwsk.blog.163.com/blog/static/598306132014313112351/,感谢博主的分享

升级SSH的更多相关文章

  1. 升级ssh编译错误

    升级ssh 编译的时候遇到PAM headers not found,然后需要安装 pam-devel-1.1.1-20.el6.x86_64,自己下载了rpm包,安装报错,然后用yum -y ins ...

  2. 升级ssh到OpenSSH_7.5p1

    Redhat 6.5 x64升级SSH到OpenSSH_7.5p1 为了防止openssh安装失败导致不能远程登录,先部署telnet服务以防万一. rpm -qa telnet telnet-ser ...

  3. centos7下升级SSH

    Linux 发行版中集成的 SSH 软件版本都比较老,存在着一些漏洞和安全隐患,需要升级 SSH 服务软件修补漏洞提升系统安全. SSH:SSH 有许多标准,通常 Linux 中 ( Redhat, ...

  4. Redhat 6.7 x64升级SSH到OpenSSH_7.4p1完整文档

    原文链接:https://www.cnblogs.com/xshrim/p/6472679.html 导语 Redhat企业级系统的6.7版自带SSH版本为OpenSSH_5.3p1, 基于审计和安全 ...

  5. 升级ssh后续问题

    升级了openssh后远端的服务器无法通过sftp传输文件到高服务器,后来发现是远端的服务器ssh版本太低,而新升级了openssh的服务器已经不再支持老版本ssh client的相关协议,这时候有两 ...

  6. Redhat 6.9 升级SSH到OpenSSH_8.6p1完整文档

    这个文章是转载,原文连接在这个:https://www.cnblogs.com/xshrim/p/6472679.html 这个问题遇到过,下面可以解决 ----------------------- ...

  7. CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门

    最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...

  8. centeros 6 远程升级ssl ssh 的shell脚本

    变量说明 SSL_N=openssl-1.0.2p #ssl 版本SSH_N=openssh-7.9p1 #ssh 版本ZLIB_N=zlib-1.2.11 # zlib 版本 脚本分为两个,因为升级 ...

  9. ssh连接报错server responded”algorithm negotiation failed”

    ssh工具版本太低,OpenSSL版本升的比较高,有些算法不支持. 解决方法: 1.修改ssh的配置文件 /etc/ssh/sshd_config cd /etc/sshvi /etc/ssh/ssh ...

随机推荐

  1. spring mvc 用freemarker实现/user/edit?id=${id}=${type} 的替换

    java 中实现/user/edit?id=${id}=${type} 的替换; 引入包: freemark.jar  ,以及 类代码如下: public class FreeMarkerTextTe ...

  2. 基于服务(Web Service)的文件管理Winform程序实现

    1.       描述 面向服务的体系结构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现 ...

  3. mac java 安装路径

    google了一下,发现了这篇文章Important Java Directories on Mac OS X,可以使用工具命令"/usr/libexec/java_home"来定 ...

  4. MySQL查询语句完整语法解析

  5. Activity生命周期(深入理解)

    今天看到一篇大神总结Activity的文章,内容甚为详细,特此转载http://www.cnblogs.com/lwbqqyumidi/p/3769113.html Android官方文档和其他不少资 ...

  6. randomAccess接口

    http://www.blogjava.net/lzqdiy/archive/2007/04/22/112578.html

  7. 每天一个 Linux 命令(20):find命令之exec

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是command ...

  8. IE6 跟随滚动解决方法

    position:fixed;_position:absolute; left:0px; top:350px;_top:expression(documentElement.scrollTop +do ...

  9. 数据结构与算法(1)支线任务3——Largest Rectangle in Histogram

    题目如下:(https://leetcode.com/problems/largest-rectangle-in-histogram/) Given n non-negative integers r ...

  10. Access自动编号的初始值设置及重置编号

    项目上需要在Access数据库,发现自动编号的列无法设置初始值和步长,但是可以使用SQL语句来设置它. 方法如下: ALTER TABLE tableName ALTER COLUMN ID COUN ...