1.概述

目的:下载源码包(https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz),编译升级为openssh为7.6版本。

适用:centOS-5.x/6.x。

Openssl最好为1.0.1版本;若为1.0.2则有可能在编译过程中报错。

编译环境要求:

1.openssl、openssl-devel、pam-devel、gcc、gcc-c++、zlib、zlib-devel、zlib-static

2.或包组:Development tools、Server Platform Development

依赖解决办法:

1.设置云环境内yum源。

2.插入对应版本的centOS光盘,设置本地yum源。

2.设置yum源

2.1本地yum源

1.查看/dev内cd设备名称。

ls -l /dev | grep cd

2.挂载光盘至/mnt

mount /dev/cdrom /mnt

3.备份源yumrepo文件,并新建yumrepo配置文件。

cd /etc/yum.repo.d/

ls

mv CentOS-Base.repo CentOS-Base.repo.bak

vim CentOS-Base.repo

4.设置本地光盘为yum更新源。

[local]

name=This is local repo

baseurl=file:///mnt

enabled=1

gpgcheck=0

5.清空yum缓存,生成新的缓存文件,并查看yum源列表是否有上面设置的本地源。

yum clean

yum makecache

yum repolist

2.2http-yum源

1.编辑配置文件CentOS-Base.repo,新增http-yum源。

[base]

name=network yum repo

baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/

enabled=1

gpgcheck=0

2.重新生成缓存文件,查看是否有刚才设置的http-yum源。

yum makecache

3.准备阶段

3.1开启telnet服务(可选)

1.安装telnet-server服务,防止由于升级失败造成无法远程管理服务器。

yum install telnet-server

2.开启telnet所需的守护进程xinetd。

service xinetd start

3.检查telnet服务是否开启成功。

service xinetd status

netstat -pantu | grep xinetd

4.默认telnet只能普通用户登录,root管理员无法登录,修改配置,允许root账号登录。(注:4/5步二选一即可)

vim /etc/pam.d/login

/pam_securetty.so

#auth required pam_securetty.so(注释此行)

:wq

5.或者将/etc/securetty文件重命名,使其失效。

(注:4/5步二选一即可)

mv -v /etc/securetty /etc/securetty.bak

6.重启telnet服务,使修改的配置生效。

service xinetd restart

7.测试telnet登录。

3.2 解决安装可能存在的依赖关系

1.查看ssh版本

ssh -V

2.检查依赖包的安装状态

rpm -qa openssl

rpm -qa openssl-devel

rpm -qa pam-devel

rpm -qa gcc

rpm -qa gcc-c++

rpm -qa zlib

rpm -qa zlib-devel

rpm -qa zlib-static

3.安装编译缺失的依赖包(注:此步根据服务器实际情况而定)

yum -y install openssl-devel pam-devel gcc gcc-c++ zlib-devel zlib-static

4.编译安装

1.上传安装包至服务器。

2.解压openssh的tarball。

tar xvf openssh-7.6p1.tar.gz

3.生成makefile。

cd openssh-7.6p1

./configure --sbindir=/usr/sbin/  --bindir=/usr/bin/ --sysconfdir=/etc/ssh --with-ssl-engine --with-pam --with-md5-passwords

编译完成无error信息即顺利完成编译,此处pam并没有实际使用。

4.编译openssh。

make -j4

5.链接安装openssh

make install

注:连接的过程中出现此信息,代表openssh7.6不支持GSSAPT这两条配置。

6.重启ssh服务。

service sshd restart

7.安装完毕,测试root账号登录。服务器拒绝。

8.创建普通用户,稍后测试普通用户登录情况。

Useradd xxxxx

psswd xxxxx

9.测试普通用户登录情况。结果为可以正常登陆。

10.修改配置文件/etc/ssh/sshd_config.解决root无法登录的情况。

Vim /etc/ssh/sshd_config

/PermitRootlogin

PermitRootlogin yes(取消此行注释)

11.重启ssh服务。

service sshd restart

service sshd status

netstat -pantu |grep :22

12.测试root用户登录。测试结果为可以正常登陆。并且openssh已经升级为7.6p1版本

并且init345开机等级自动开启此服务。

ssh -V

chkconfig –list |grep sshd

13.另外由于新版openssh不支持GSSAPI参数,所有需要注释此行,已免有未知影响。

Vim /etc/ssh/sshd_config

#GSSAPIAuthentication yes(注释以下两行)

#GSSAPICleanupCredentials yes

修改前开启服务会有报错信息。

修改后重启服务报错信息消失。

5.收尾阶段

1.关闭telnet-server服务进程。

service xinetd stop

service xinetd status

2.关闭telnet-server服务345级别开机自启动服务。

chkconfig --list |grep xinetd

chkconfig --level 345 xinetd off

chkconfig --list |grep xinetd

编译升级至openssh7.6的更多相关文章

  1. Centos6升级至openssh-7.5p1

    最近公司有几台服务器需要搬至甲方(政府单位),所以在安装服务时用的是16年的openssh7.3pl, 今天通知我们有漏洞,需要再一次升级,看到官方文档上版本已升级至7.5,所以干脆直接搞7.5 具体 ...

  2. Centos 6.5升级openssh到7.5p1版本

    centos6自带的ssh版本较低,存在高危漏洞,目前部分服务器需要升级到最新版本(目前是7.5p1). 注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好有远程 ...

  3. RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x86_64

    报错信息如下: Undefined symbols for architecture arm64: "_OBJC_CLASS_$_XCElementSnapshot", refer ...

  4. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  5. Linux 内核编译

    注:该文章部分内容摘录自以下链接. http://www.cnblogs.com/zhunian/archive/2012/04/04/2431883.html 创建内核的第一步是创建一个 .conf ...

  6. 将EnyimMemcached从.NET Core RC1升级至RC2

    .NET Core RC1时project.json中的配置如下: { "version": "3.2.4", "summary": &qu ...

  7. 我的复杂的OpenCV编译之路(OpenCV3.1.0 + VS2010 + Win7)

    教程:www.cnblogs.com/jliangqiu2016/p/5597501.html 这里主要记载我编译遇到的错误及解决方法. OpenCV3.1软件下载:https://sourcefor ...

  8. ASP.NET 4.0升级至ASP.NET 4.5需要注意的地方 【转】

    原以为只要在Visual Studio 2012中将每个项目的Target framework设置为.NET Framewor 4.5进行编译,然后在web.config中设置compilation的 ...

  9. egret命令行编译项目时 版本不对应的问题

    egret 命令行编译项目时 如使用 egret build -e 会出现版本不对应的问题 分析原因 A,B项目 A项目使用1.8的egret引擎, B项目使用2.5引擎 但本地引擎升级至2.5.5, ...

随机推荐

  1. ANN神经网络——实现异或XOR (Python实现)

    一.Introduction Perceptron can represent AND,OR,NOT 用初中的线性规划问题理解 异或的里程碑意义 想学的通透,先学历史! 据说在人工神经网络(artif ...

  2. 使用 Load Balancer,Corosync,Pacemaker 搭建 Linux 高可用集群

    由于网络架构的原因,在一般虚拟机或物理环境中常见的用 VIP 来实现双机高可用方案,无法照搬到 Azure 平台.但利用 Azure 平台提供的负载均衡或者内部负载均衡功能,可以达到类似的效果. 本文 ...

  3. Tomcat启动阻塞变慢

    Tomcat 熵池阻塞变慢详解 Tomcat 启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2015-10-29 15:47:11] INFO ReadProperty:172 ...

  4. 替换NSString类中的stringWithFormat:方法

    替换NSString类中的stringWithFormat:方法 先给出源码: YXUseful.h // // YXUseful.h // NSString // // Copyright (c) ...

  5. 沉淀,再出发:Maven的使用和规范

    沉淀,再出发:Maven的使用和规范 一.前言 Maven作为项目管理工具,在一个大型项目开发的每个阶段都有着很大的用处,为什么需要这个东西呢,还是为了消除不确定性,统一化管理,正如我们做的每一件事其 ...

  6. php红包生成随机算法

    一.适用场景 红包总金额X,分配成Y个红包,每个红包随机金额. 二.生成算法 /** * 红包生成算法 * @param $money 总金额 * @param $number 红包数量 * @par ...

  7. [python]emlog相册插件getshell exploit

    昨天本站转载了emlog相册插件的漏洞分析文章,当然也有html版的getshell代码,喜欢的同学们可以直接用昨天文章中分享的代码.为了练习python,小弟用python又重写了一次,喜欢的同学们 ...

  8. Micro

    Micro 架构与设计   Micro 架构与设计 翻译自 Micro architecture & design patterns for microservices 注: 原文作者即 Mi ...

  9. Executor线程池框架

    Executor线程池框架 new Thread()的缺点 每次new Thread()耗费性能 调用new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致 ...

  10. UOJ #62. 【UR #5】怎样跑得更快

    题目分析 显然不可能高斯消元. 考虑反演. \(b_i=\sum\limits_{j=1}^n\gcd(i,j)^C\cdot \text{lcm}(i,j)^D\cdot x_j\) \(b_i=\ ...