本例使用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. c#变量缺少using引用,如何快速加上using,加Using的快捷键[bubuko.com]

    在vs的“工具”->“选项”中,左侧树形菜单,“环境”下的“键盘”中设置快捷键. 在“显示命令包含”输入框内输入“显示智能标记”,找到“视图.显示智能标记”,可以看到该命令的快捷键已经分配了2个 ...

  2. uml和模式01

    // */ // ]]> uml和模式01 1. UML 2. 用例图 3. 用例和类的关系 4. 类图 1 UML 模型语言(Modeling Language 检查ML)是一种设计语言,人们 ...

  3. Javascript技巧

    Javascript数组转换为CSV格式 首先考虑如下的应用场景,有一个Javscript的字符型(或者数值型)数组,现在需要转换为以逗号分割的CSV格式文件.则我们可以使用如下的小技巧,代码如下: ...

  4. pt-online-schema-change 修改主键导致数据删除失败的问题调查

    pt-online-schema-change在线DDL工具可以做到DDL操作不锁表,不影响线上操作.对于线上超过100W的大表,一般情况下都用这个工具做DDL,最重要的考虑点还是“不影响线上操作” ...

  5. 使用 Linq 对多个对象进行join操作 C#

    class A { public int id { get; set; } public string name { get; set; } } class B { public int id { g ...

  6. SQL语句之备份表

    SELECT INTO 语句:表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表 1.全表结构备份: SELECT * INTO new_table_name FROM old_tab ...

  7. Android屏幕适配全攻略 (转载)

    http://blog.csdn.net/jdsjlzx/article/details/45891551 https://github.com/hongyangAndroid/AndroidAuto ...

  8. selenium查找动态的iframe的name

    WebElement frame1 = driver.findElement(By.xpath("/html/body/div[9]/div[2]/div/iframe"));dr ...

  9. js生成GUID

    //表示全局唯一标识符 (GUID). function Guid(g) { var arr = new Array(); //存放32位数值的数组 if (typeof(g) == "st ...

  10. Github-素材篇

    my github: http://github.com/yaochao