编译升级至openssh7.6
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的更多相关文章
- Centos6升级至openssh-7.5p1
最近公司有几台服务器需要搬至甲方(政府单位),所以在安装服务时用的是16年的openssh7.3pl, 今天通知我们有漏洞,需要再一次升级,看到官方文档上版本已升级至7.5,所以干脆直接搞7.5 具体 ...
- Centos 6.5升级openssh到7.5p1版本
centos6自带的ssh版本较低,存在高危漏洞,目前部分服务器需要升级到最新版本(目前是7.5p1). 注:升级ssh存在一定的危险性,一旦不成功可能无法通过远程连接到系统,因此在升级之前最好有远程 ...
- RobotFramework+Appium 为了兼容iOS12,升级至Xcode10后,WebDriverAgent编译不通过:Undefind symbols for architecture x86_64
报错信息如下: Undefined symbols for architecture arm64: "_OBJC_CLASS_$_XCElementSnapshot", refer ...
- SSH/SSL 源码编译安装简易操作说明
环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...
- Linux 内核编译
注:该文章部分内容摘录自以下链接. http://www.cnblogs.com/zhunian/archive/2012/04/04/2431883.html 创建内核的第一步是创建一个 .conf ...
- 将EnyimMemcached从.NET Core RC1升级至RC2
.NET Core RC1时project.json中的配置如下: { "version": "3.2.4", "summary": &qu ...
- 我的复杂的OpenCV编译之路(OpenCV3.1.0 + VS2010 + Win7)
教程:www.cnblogs.com/jliangqiu2016/p/5597501.html 这里主要记载我编译遇到的错误及解决方法. OpenCV3.1软件下载:https://sourcefor ...
- ASP.NET 4.0升级至ASP.NET 4.5需要注意的地方 【转】
原以为只要在Visual Studio 2012中将每个项目的Target framework设置为.NET Framewor 4.5进行编译,然后在web.config中设置compilation的 ...
- egret命令行编译项目时 版本不对应的问题
egret 命令行编译项目时 如使用 egret build -e 会出现版本不对应的问题 分析原因 A,B项目 A项目使用1.8的egret引擎, B项目使用2.5引擎 但本地引擎升级至2.5.5, ...
随机推荐
- ANN神经网络——实现异或XOR (Python实现)
一.Introduction Perceptron can represent AND,OR,NOT 用初中的线性规划问题理解 异或的里程碑意义 想学的通透,先学历史! 据说在人工神经网络(artif ...
- 使用 Load Balancer,Corosync,Pacemaker 搭建 Linux 高可用集群
由于网络架构的原因,在一般虚拟机或物理环境中常见的用 VIP 来实现双机高可用方案,无法照搬到 Azure 平台.但利用 Azure 平台提供的负载均衡或者内部负载均衡功能,可以达到类似的效果. 本文 ...
- Tomcat启动阻塞变慢
Tomcat 熵池阻塞变慢详解 Tomcat 启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2015-10-29 15:47:11] INFO ReadProperty:172 ...
- 替换NSString类中的stringWithFormat:方法
替换NSString类中的stringWithFormat:方法 先给出源码: YXUseful.h // // YXUseful.h // NSString // // Copyright (c) ...
- 沉淀,再出发:Maven的使用和规范
沉淀,再出发:Maven的使用和规范 一.前言 Maven作为项目管理工具,在一个大型项目开发的每个阶段都有着很大的用处,为什么需要这个东西呢,还是为了消除不确定性,统一化管理,正如我们做的每一件事其 ...
- php红包生成随机算法
一.适用场景 红包总金额X,分配成Y个红包,每个红包随机金额. 二.生成算法 /** * 红包生成算法 * @param $money 总金额 * @param $number 红包数量 * @par ...
- [python]emlog相册插件getshell exploit
昨天本站转载了emlog相册插件的漏洞分析文章,当然也有html版的getshell代码,喜欢的同学们可以直接用昨天文章中分享的代码.为了练习python,小弟用python又重写了一次,喜欢的同学们 ...
- Micro
Micro 架构与设计 Micro 架构与设计 翻译自 Micro architecture & design patterns for microservices 注: 原文作者即 Mi ...
- Executor线程池框架
Executor线程池框架 new Thread()的缺点 每次new Thread()耗费性能 调用new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致 ...
- 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=\ ...