aix升级openssh_AIX6.1上源码编译升级openssh6.6p1

2023-11-19

最近因为绿盟扫描到AIX5.3 AIX6.1系统有openssh高危漏洞,OPENSSH6.4之前的都报高危漏洞,IBM官网上也只有最新的openssh6.0安装文件供下载,没办法只有自己试验的用源码来安装升级,期间各种报错,搞了差不多一周的时间,才顺利的安装的把openssh版本升上去了。以下是安装步骤

1,修改/etc/profile文件

cp -p /etc/profile /etc/profile_bak

/etc/profile文件添加

export LIBPATH=/opt/freeware/lib

export PATH=$PATH:/usr/local/bin:/usr/local/sbin

source /etc/profile

2,安装openssl1.0.1g

openssl-1.0.1g-1.aix6.1.ppc.rpm

openssl-devel-1.0.1g-1.aix6.1.ppc.rpm

root@SHDNSDB02:/home/weihu>rpm -Uvh openssl-1.0.1g-1.aix6.1.ppc.rpm

warning: /var/ssl/openssl.cnf saved as /var/ssl/openssl.cnf.rpmorig

openssl                     ##################################################

root@SHDNSDB02:/home/weihu>rpm -Uvh openssl-devel-1.0.1g-1.aix6.1.ppc.rpm

openssl-devel               ##################################################

接下来需要安装zlib,由于没有安装GCC,需要首先安装GCC

2503gcc-cpp-4.8.1-2.aix6.1.ppc.rpm-with-deps.zip

gcc-4.8.1-2.aix6.1.ppc.rpm

首先将2503gcc-cpp-4.8.1-2.aix6.1.ppc.rpm-with-deps.zip解压出来

root@SHDNSDB02:/home/weihu>jar -xvf 2503gcc-cpp-4.8.1-2.aix6.1.ppc.rpm-with-deps.zip

inflated: libmpc-0.9-1.aix5.3.ppc.rpm

inflated: zlib-1.2.5-6.aix6.1.ppc.rpm

inflated: info-5.0-2.aix6.1.ppc.rpm

inflated: gettext-0.17-8.aix6.1.ppc.rpm

inflated: libiconv-1.14-1.aix6.1.ppc.rpm

inflated: gmp-5.1.3-1.aix6.1.ppc.rpm

inflated: mpfr-3.1.2-1.aix6.1.ppc.rpm

inflated: gcc-4.8.1-2.aix6.1.ppc.rpm

inflated: gcc-cpp-4.8.1-2.aix6.1.ppc.rpm

inflated: libgcc-4.8.1-2.aix6.1.ppc.rpm

inflated: bash-4.2-9.aix6.1.ppc.rpm

root@SHDNSDB02:/home/weihu>rpm -Uvh libgcc-4.8.1-2.aix6.1.ppc.rpm

libgcc                      ##################################################

root@SHDNSDB02:/home/weihu>rpm -Uvh gmp-5.1.3-1.aix6.1.ppc.rpm

gmp                         ##################################################

root@SHDNSDB02:/home/weihu>rpm -Uvh gettext-0.17-8.aix6.1.ppc.rpm --nodeps

/

gettext                     ##################################################

add libintl.so.1 (32bits) shared member to /opt/freeware/lib/libintl.a

add libintl.so.1 (64bits) shared member to  /opt/freeware/lib/libintl.a

/

root@SHDNSDB02:/home/weihu>rpm -Uvh libiconv-1.14-1.aix6.1.ppc.rpm

libiconv                    ##################################################

add shr4.o shared members from /usr/lib/libiconv.a to  /opt/freeware/lib/libiconv.a

add shr.o shared members from /usr/lib/libiconv.a to  /opt/freeware/lib/libiconv.a

add shr4_64.o shared members from /usr/lib/libiconv.a to  /opt/freeware/lib/libiconv.a

/

root@SHDNSDB02:/home/weihu>rpm -Uvh mpfr-3.1.2-1.aix6.1.ppc.rpm

mpfr                        ##################################################

root@SHDNSDB02:/home/weihu>rpm -Uvh zlib-1.2.5-6.aix6.1.ppc.rpm

zlib                        ##################################################

root@SHDNSDB02:/home/weihu>rpm -Uvh info-5.0-2.aix6.1.ppc.rpm

warning: /opt/freeware/info/dir created as /opt/freeware/info/dir.rpmnew

info                        ##################################################

Please check that /etc/info-dir does exist.

You might have to rename it from /etc/info-dir.rpmsave to /etc/info-dir.

root@SHDNSDB02:/home/weihu>rpm -Uvh libmpc-0.9-1.aix5.3.ppc.rpm

libmpc                      ##################################################

root@SHDNSDB02:/home/weihu>rpm -Uvh bash-4.2-9.aix6.1.ppc.rpm

bash                        ##################################################

## Binary "bash" is avaible on 32bit and 64bit ##

The default used is 64bit

Please change symbolic link

from "bash" into /bin directory

To do that tape:

# rm -f /bin/bash

# ln -sf /opt/freeware/bin/bash_32 /bin/bash

root@SHDNSDB02:/home/weihu>mv /bin/bash /bin/bash_bak

root@SHDNSDB02:/home/weihu>ln -sf /opt/freeware/bin/bash_

bash_32  bash_64

root@SHDNSDB02:/home/weihu>ln -sf /opt/freeware/bin/bash_32 /bin/bash

root@SHDNSDB02:/home/weihu>rpm -Uvh gcc-cpp-4.8.1-2.aix6.1.ppc.rpm gcc-4.8.1-2.aix6.1.ppc.rpm

gcc-cpp                     ##################################################

gcc                         ##################################################

root@SHDNSDB02:/home/weihu>type gcc

gcc is /usr/bin/gcc

到此GCC已经安装好。

接下来编译zlib,我用的zlib版本是zlib-1.2.5.tar.bz2,解压并编译它

(*注意这里一定要安装,否则会报错:configure: error: *** zlib.h missing - please install first or check config.log ****)

root@SHDNSDB02:/home/weihu>bzip2 -d zlib-1.2.5.tar.bz2

root@SHDNSDB02:/home/weihu>tar -xvf zlib-1.2.5.tar

root@SHDNSDB02:/home/weihu>cd zlib-1.2.5

root@SHDNSDB02:/home/weihu>./configure

root@SHDNSDB02:/home/weihu>make

root@SHDNSDB02:/home/weihu>make install

编译openssh,并将openssh源码包打包成

root@SHDNSDB02:/home/weihu>gzip -d openssh-6.6p1.tar.gz

root@SHDNSDB02:/home/weihu>tar xvf openssh-6.6p1.tar

root@SHDNSDB02:/home/weihu>cd openssh-6.6p1

root@SHDNSDB02:/home/weihu>./configure

root@SHDNSDB02:/home/weihu/openssh-6.6p1>contrib/aix/buildbff.sh (*这条命令生成BFF格式可安装文件,如果脚本最后没有生成openssh-6.6p1.bff文件,你需要检查LIB_ PATH是否设置好,并且source /etc/profile让设置立即生效,同时需要make clean清空上次configure的文件,然后再次./configure并执行buildbff.sh文件*)

root@SHDNSDB02:/home/weihu/openssh-6.6p1>ls -lat openssh

openssh-6.6p1.bff  openssh.xml        opensshd.init

openssh-exec():    openssh.xml.in     opensshd.init.in

root@SHDNSDB02:/home/weihu/openssh-6.6p1>ls -lat openssh-6.6p1.bff

-rw-r--r--    1 root     system      4966400 Oct 16 16:17 openssh-6.6p1.bff

在当前目录下安装openssh-6.6p1.bff文件

root@SHDNSDB02:/home/weihu/openssh-6.6p1>inutoc .

(*注意运行上面的命令出现此错误sh: 0403-057 Syntax error at line 1 : `(' is not expected.,只需要删除当前目录下的openssh-exec(): 文件即可正常运行*)

root@SHDNSDB02:/home/weihu/openssh-6.6p1>installp -acgNQqX -d . -f .toc

到此OPENSSH安装成功

这个时候看ssh版本还是以前的

root@SHDNSDB02:/>type sshd

sshd is /usr/sbin/sshd

关闭sshd

root@SHDNSDB02:/>stopsrc -s sshd

备份老版本sshd,建立软链接到新版本

root@SHDNSDB02:/>mv /usr/sbin/sshd /usr/sbin/sshd_bak

root@SHDNSDB02:/>ln -s /usr/local/sbin/sshd /usr/sbin/sshd

启动ssh

root@SHDNSDB02:/>/usr/sbin/sshd

Could not load host key: /usr/local/etc/ssh_host_rsa_key

Could not load host key: /usr/local/etc/ssh_host_dsa_key

Could not load host key: /usr/local/etc/ssh_host_ecdsa_key

Could not load host key: /usr/local/etc/ssh_host_ed25519_key

建立KEY文件

root@SHDNSDB02:/>/usr/local/bin/ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key

root@SHDNSDB02:/>/usr/local/bin/ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key

root@SHDNSDB02:/>/usr/local/bin/ssh-keygen -t ecdsa -f /usr/local/etc/ssh_host_ecdsa_key

root@SHDNSDB02:/>/usr/local/bin/ssh-keygen -t ed25519 -f /usr/local/etc/ssh_host_ed25519_key

重新开启ssh服务

root@SHDNSDB02:/>/usr/sbin/sshd

至此ssh服务启动完成,可以正常远程连接

查看以下ssh服务进程和OPENSSH的版本

root@SHDNSDB02:/>ps -ef|grep sshd

weihu 44957866  5767496   0 14:38:48      -  0:00 /usr/sbin/sftp-server -m /etc/ssh/sshd_config

weihu 45481992 48365574   0 13:55:31      -  0:00 sshd: weihu@pts/3

weihu 46661832  7340288   0 13:09:51      -  0:00 sshd: weihu@pts/1

root 48365574        1   0 13:55:18      -  0:00 sshd: weihu [priv]

root  3998086        1   0 16:47:30      -  0:00 sshd: weihu [priv]

root  4063686  6357374   0 16:59:02  pts/0  0:00 grep sshd

weihu  4194786  3998086   0 16:47:52      -  0:00 sshd: weihu@pts/0

weihu  5767496  6750580   0 14:38:48      -  0:01 sshd: weihu@notty

root  6750580        1   0 14:38:47      -  0:00 sshd: weihu [priv]

root  7340288        1   0 13:09:44      -  0:00 sshd: weihu [priv]

root  7406052        1   0 16:58:54      -  0:00 /usr/sbin/sshd

root@SHDNSDB02:/>sshd -v

unknown option -- v

OpenSSH_6.6p1, OpenSSL 1.0.1g 7 Apr 2014

usage: sshd [-46DdeiqTt] [-b bits] [-C connection_spec] [-c host_cert_file]

[-E log_file] [-f config_file] [-g login_grace_time]

[-h host_key_file] [-k key_gen_time] [-o option] [-p port]

[-u len]

做到这一步openssh的版本就算是升上去了,但是有一个问题还未解决

root@SHDNSDB02:/>stopsrc -s sshd

root@SHDNSDB02:/>startsrc -s sshd

上面的命令无法对ssh进程产生重启和关闭的作用,而且当我重启系统后,ssh是不会自启动的,还好开启了telnet,这个问题暂时还未解决,希望看到此文的网络大牛们给指导指导。

上文所需要的全部安装包,我已经上传,有需要的可以下载,下载地址如下:

http://down.51cto.com/data/1884215

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

aix升级openssh_AIX6.1上源码编译升级openssh6.6p1 的相关文章

  • Node之使用dns模块解析域名

    引 在网络编程中 开发者更倾向于使用域名 而不是IP地址来指定网络连接的目标地址 在Node js中 提供dns模块 以实现域名查找及域名解析的处理 在dns模块中 提供了三个主方法及一系列便捷方法 其中三个主方法分别为用于将一个域名解析为
  • MySQL使用查询结果生成临时表

    MySQL中不支持对同一个表使用其查询结果更新or删除本表内数据 也就是update或delete后的where条件为针对相同表的select 解决方案是创建临时表做过度保存中间数据 可以直接使用查询结果来形成临时表 CREATE TABL
  • verilog奇数分频器的问题讲解(7分频为例)

    先不多哔哔 直接上代码 verilogHDL 代码的后面讲原理 module fenpin3 clk clk7 rst input clk rst 设置rst的目的是当rst 1的时候给cnt0和cnt1赋初值 output clk7 re
  • python sslerror_如何解决“不良握手”问题利用python请求时的SSLErrors

    I m trying to get access to the BambooHR API documentation here but I receive the following error params user username p
  • GREASELM: GRAPH REASONING ENHANCED LANGUAGE MODELS FOR QUESTION ANSWERING

    本文是LLM系列文章 针对 GREASELM GRAPH REASONING ENHANCED LANGUAGE MODELS FOR QUESTION ANSWERING 的翻译 GREASELM 图推理增强的问答语言模型 摘要 1 引言
  • 小霸王其乐无穷之函数回调

    小霸王游戏机是中国上一代备受欢迎的家用游戏机 它在1990年代初期开始流行 当时 由于游戏软件受限 国内的游戏市场相对匮乏 这使得小霸王游戏机成为许多70 80后童年时光中难忘的一部分 小霸王游戏机分为两大主要部分 游戏机本身和卡带 游戏机
  • Python中的CALL_FUNCTION指令

    在Python字节码中 CALL FUNCTION指令后跟的数字代表这次函数调用需要从栈上取出的参数的数量 具体来说 这个数字包括位置参数和关键字参数的数量 这个数字的低两位表示位置参数的数量 然后每两位表示一个关键字参数的数量 因此 如果
  • LLVM Language Reference Manual---阅读笔记

    文档地址 http llvm org docs LangRef html LLVM IR的标示符有两种基本类型 全局的和局部的 全局标示符以 开头 局部标示符以 开头 LLVM IR的标示符有三种形式 命名的 未命名的 常量 每一个Moud
  • Python pyecharts数据可视化

    Python pyecharts数据可视化 绘制精美图表 一 数据可视化 1 pyecharts介绍 2 初入了解 1 快速上手 2 简单的配置项介绍 3 案例实战 1 柱状图Bar 2 地图Map 省份 城市 地区 3 饼图Pie Pie
  • 【SMTP】【POP】电子邮件相关协议分析

    一 实验环境 通过普通路由器连接英特网的计算机一台 通过VMWare安装的Linux虚拟机一台 抓包工具 Wireshark 邮件处理软件 Foxmail 二 实验原理 SMTP工作原理 SMTP提供了一种邮件传输的机制 当收件方和发件方都
  • 公司实战 ElasticSearch+Kafka+Redis+MySQL

    一 需求 前一段时间公司要进行数据转移 将我们ES数据库中的数据转移到客户的服务器上 并且使用定时将新增的数据同步 在这过程中学到了很多 在此记录一下 二 技术栈 Mysql Redis ElasticSearch Kafka 三 方案 为
  • Ant Design Pro + Ant Design + React 踩坑记录

    1 自定义封装组件 1 1 组件通信 1 1 1 父传子 在本项目中对因为删除组件比较通用 所以对删除组件进行了封装 如下图我们对定义了通用删除组件 通过props传入回调方法 这样页面上只需要引用该组件 并传入自定义的删除函数即可引入 我
  • 单向链表实现(C语言)

    目录 一 简介 概念介绍 链接存储方法 结点结构 头指针head和终端结点 二 单向链表的使用 1 数据结构 2 从尾部添加append 3 从头部添加 add head 4 在链表任一指定位置节点按升序插入节点 5 查找并删除指定节点 6
  • [透彻]为什么要前后端分离?

    前后端分离的意义 前后端分离 已成为互联网项目开发的业界标准使用方式 前后端分离 会为以后的大型分布式架构 弹性计算架构 微服务架构打下坚实的基础 核心思想 前端页面调用后端的restuful api接口 并使用json数据进行交互 服务器
  • ug建模文本怎么竖着_【UG三维造型】:UG NX三维特征孔

    UG NX是集CAD CAM CAE功能于一体的软件集成系统 是当今较为流行的一种数控模具设计软件 主要是因为其功能强大 包括了世界上最强大 最广泛的产品设计应用模块 数控编程模块 模具设计模块 工程制图模块 装配设计模块 钣金设计模块 运
  • 第12课:生活中的构建模式——想要车还是庄园

    用程序来模拟生活 从剧情中思考构建模式 与工厂模式的区别 与组合模式的区别 构建模式的模型抽象 类图 基于升级版的实现 模型说明 应用场景 故事剧情 下周就要过年了 这是 Tony 工作后的第一个春节 还是在离家这么远的北京工作 所以肯定不
  • Ribbon负载均衡(三)SpringCloud Ribbon负载均衡详解及实现

    SpringCloud Ribbon负载均衡实现 文章目录 SpringCloud Ribbon负载均衡实现 1 User客户端调用方 1 1 修改User服务 Pom文件 引入Ribbon 1 2 RibbonConfiguration配
  • 经典算法题:大数乘法之乘法累加算法 Karatsuba算法(远远超出long long范围)

    问题 超过100位数字的整数的乘法 无法直接调用 运算 例如 求 1234567891011121314151617181920 2019181716151413121110987654321 的乘积结果 需要转化成数组问题或者字符串问题求
  • VMWare Ubuntu 共享文件夹失效解决办法

    VMWare Ubuntu 共享文件夹失效解决办法 Ubuntu 是 16 04 sudo vmhgfs fuse host mnt hgfs o allow other o uid 1000

随机推荐

  • 华为OD机试真题- 找数字【2023Q2】【JAVA、Python、C++】

    题目描述 给一个二维数组nums 对于每一个元素num i 找出距离最近的且值相等的元素 输出横纵坐标差值的绝对值之和 如果没有等值元素 则输出 1 例如 输入数组nums为 0 3 5 4 2 2 5 7 8 3 2 5 4 2 4 对于
  • float\double 型变量怎么判断是否大于、小于、等于 0

    刷题的时候做了这样一题 include
  • 机械键盘按键失灵解决办法(亲测有效,不用换不用拆,5分钟搞定)

    机械键盘不灵的小伙伴们 有福音了 不用换不用拆 只需要一根牙签 一把美工刀 或者剪刀 一瓶酒精 或者免洗消毒液 就可以修好上百块钱的东西 5分钟搞定 这两天不知道为啥机械键盘的ctrl键居然失灵了 有时候可以有时候不好用 怎么回事 一个上百
  • Windows下Git及TortoiseGit安装、配置及使用

    文章目录 1 Git TortoiseGit安装及配置 2 Git 常用命令 2 1 新建代码库 2 2 配置 2 3 增加 删除文件 2 4 代码提交 2 5 分支 2 6 查看信息 3 Git 样例 3 1 首次提交本地代码至远程仓库
  • AD22PCB库增大黑色区域的面积

  • 运维常用面试题及答案

    介绍一下你的运维经验和技能 答案 在回答这个问题时 可以简要概述你的运维经验和技能 包括你的工作经历 参与的项目 使用的工具和技术等 重点突出你在系统监控 故障排除 自动化部署 容量规划和安全性等方面的经验和技能 你在日常工作中使用过哪些自
  • 【C++11】shared_ptr

    1 shared ptr内存模型 shared ptr 包含了一个指向对象的指针和一个指向控制块的指针 每一个由 shared ptr 管理的对象都有一个控制块 它除了包含强引用计数 弱引用计数之外 还包含了自定义删除器的副本和分配器的副本
  • 剑指 Offer 58 - I. 翻转单词顺序--学到点小知识

    class Solution public String reverseWords String s String strings s trim split StringBuilder sb new StringBuilder for in
  • Angular开发(十八)-路由的基本认识

    一 学单词 angular路由中涉及到很多新单词词汇 单词 说明 使用场景 Routes 配置路由 保存URL对应的组件 以及在哪个RouterOutlet中展现 RouterOutlet 在html中标记挂载路由的占位容器 Router
  • 什么是hive的静态分区和动态分区,hive动态分区详解

    面试官问我 什么是hive的静态分区和动态分区 这题我会 欢迎点击此处关注我的个人公众号 交流更多知识 简述 分区是hive存放数据的一种方式 将列值作为目录来存放数据 就是一个分区 可以有多列 这样查询时使用分区列进行过滤 只需根据列值直
  • 如何通过DOI号来获取相关文献并下载?

    上一篇博客分享了如何利用PMID来获取相关的文献 这篇博客就对如何利用DOI号获取并下载相关文献做简单讲解 1 打开网址 链接为 https sci hub shop 2 在输入框中输入相关的DOI号 输入格式为DOI xxxxx 其次点击
  • 【电赛-软件】CCS安装教程

    CCS安装教程 下载 下载地址 下载地址 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传 img WhFWuuUy 1679146802762 ccspicture ccs download png 选择第二个CCSTU
  • CSDN-markdown编辑器使用说明

    欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来 用它写博客 将会带来全新的体验哦 Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列
  • 从mpeg ts文件中提取I帧(6):I帧的显示

    I帧的显示依赖于opencv 这里用到的版本是3 4 0 显示的数据是pes解码后的rgb数据 代码比较简单 用opencv主要考虑到以后可以对ts流进行一些特征识别 include
  • 7-43 查询水果价格

    给定四种水果 分别是苹果 apple 梨 pear 桔子 orange 葡萄 grape 单价分别对应为3 00元 公斤 2 50元 公斤 4 10元 公斤 10 20元 公斤 首先在屏幕上显示以下菜单 1 apple 2 pear 3 o
  • 各种协议

    百度百科http baike baidu com view 16603 htm fromtitle E8 AE A1 E7 AE 97 E6 9C BA E7 BD 91 E7 BB 9C E5 8D 8F E8 AE AE fromid
  • json.decoder.JSONDecodeError: Invalid control character at: line 1 column 3,python中str与json类型转换报错如何解

    使用json转 json数据保密 再此不展示 判断类型 print type str json json dump json loads str json 报错如下 json decoder JSONDecodeError Invalid
  • 【Data Mining】【第五章作业】

    文章目录 一 单选题 二 多选题 三 填空题 一 单选题 1 回归分析中使用的距离是点到直线的垂直坐标距离 最小二乘准则是指 A B C D 正确答案 D 2 回归分析的步骤为 进行相关分析 建立预测模型 确定变量 确定预测值 计算预测误差
  • yolov4训练自己的数据集

    YOLOv4训练自己的数据集 1 电脑配置 2 下载并配置 3 测试 4 训练 1 电脑配置 win10 OpenCV4 1 VS2019 cuda10 2 2 下载并配置 1 YOLOv4网址 https github com Alexe
  • aix升级openssh_AIX6.1上源码编译升级openssh6.6p1

    最近因为绿盟扫描到AIX5 3 AIX6 1系统有openssh高危漏洞 OPENSSH6 4之前的都报高危漏洞 IBM官网上也只有最新的openssh6 0安装文件供下载 没办法只有自己试验的用源码来安装升级 期间各种报错 搞了差不多一周