OpenSSH 升级

目前在一家金融公司上班,正好赶上金融公司各种暴雷,本人心里慌慌的。

然后就是金融公司要进行的最低的三级等保评测,各种修改系统安全,密码强度、WAF、防火墙等各种。

评测公司对我司的网站进行了漏扫,检测出来Openssh 版本过低,并且伴有两个高危漏洞,兄弟俩关系不错。


安装xinetd telnet-server

为防止Openssh 升级失败,所以需要把telnet启动起来

之前测试的时候,telnet登陆,不能使用root,普通用户没问题,懒得解决了,直接配置了普通用户的visudo.

[root@centos6 ~]# yum install xinted telnet-server -y
[root@centos6 ~]# chkconfig telnet on
[root@centos6 ~]# vim /etc/xinetd.d/telnet
#修改一下`/etc/xinetd.d/telnet` 配置文件,把最后一样的disable 的值修改为no
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
} [root@centos6 ~]# /etc/init.d/xinetd start

搞定,配置普通用户的visudo这里就不详解了。

算了,还是说下吧

[root@centos6 ~]# useradd test
[root@centos6 ~]# passwd test
#这里输入两次密码 [root@centos6 ~]# visudo
#打开后,在最后添加下面的内容,然后保存退出就可以了 test ALL=(ALL) NOPASSWD: ALL

这样就搞定了

开始升级

生产系统是:CentOS 6.5, 自带的SSH版本太低,安全检查报有漏洞,需要升级版本。

[root@centos6 ~]# rpm -qa | grep openssh
openssh-clients-5.3p1-122.el6.x86_64
openssh-5.3p1-122.el6.x86_64
openssh-server-5.3p1-122.el6.x86_64

本文使用最新的openssh-7.7p1的版本进行源码升级安装。

升级OpenSSH不难,难的是在升级前的基础环境安装

基础包安装

yum安装最简单

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

然后。。。完事儿了,基础环境安装完了。真的很难

下面去openssh官网下载最新的源码包, 点击我下载OpenSSH,官方的哦

下面开始升级

首先删除老版本的Openssh。

rpm -e --nodeps rpm -qa | grep openssh

然后编译安装:

由于配置和编译的过程太长,就不复制了,直接贴上命令:

[root@centos6 soft]# ls
openssh-7.7p1.tar.gz
[root@centos6 soft]# tar xf openssh-7.7p1.tar.gz
[root@centos6 soft]# cd openssh-7.7p1
[root@centos6 openssh-7.7p1]#
[root@centos6 openssh-7.7p1]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl --with-zlib --with-md5-passwords --with-pam
内容太多,忽略
Host: x86_64-pc-linux-gnu
Compiler: gcc
Compiler flags: -g -O2 -pipe -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict-aliasing -mfunction-re
turn=thunk -mindirect-branch=thunk -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-all -fPIE Preprocessor flags: -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE
Linker flags: -Wl,-z,retpolineplt -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -fstack-protector-all -pie
Libraries: -lcrypto -lrt -ldl -lutil -lz -lcrypt -lresolv
+for sshd: -lpam PAM is enabled. You may need to install a PAM control file
for sshd, otherwise password authentication may fail.
Example PAM control files can be found in the contrib/
subdirectory [root@centos6 openssh-7.7p1]# make && make install #安装的时候这里遇到一个坑,需要make install两次,可能是我卸载的顺序有问题把,否则提示找不到sshd命令。请注意
#执行之后等结果,看看报不报错,反正我的不报错。

安装完之后,别着急去别的目录,还在当前安装目录,需要拷贝几个配置文件,拷贝之前一定要备份

执行过程如下:

# 先拷贝配置文件
[root@centos6 openssh-7.7p1]# cp -a /etc/ssh /etc/ssh_bak
[root@centos6 openssh-7.7p1]# cp ssh_config /etc/ssh/
cp: overwrite `/etc/ssh/ssh_config'? y
[root@centos6 openssh-7.7p1]# cp sshd_config /etc/ssh/
cp: overwrite `/etc/ssh/sshd_config'? y
[root@centos6 openssh-7.7p1]# cp moduli /etc/ssh/
cp: overwrite `/etc/ssh/moduli'? y #这里是拷贝sshd的启停脚本
[root@centos6 openssh-7.7p1]# cp contrib/redhat/sshd.init /etc/init.d/sshd
cp: overwrite `/etc/init.d/sshd'? y #直接start启动ssh,千万不能restart,使用restart会造成连不上,需要登录控制台启动
#再设置开机自启
[root@centos6 openssh-7.7p1]# /etc/init.d/sshd start
Starting sshd: [ OK ]
[root@centos6 openssh-7.7p1]# chkconfig sshd on #查看,安装后的果实;
[root@centos6 openssh-7.7p1]# ssh -V
OpenSSH_7.7p1, OpenSSL 1.0.1e-fips 11 Feb 2013

没问题,搞定了。

最后的小提示:

开启root用户远程登录 。

此步骤不是必须。建议是关闭该选项,开启会有安全隐患。

vi /etc/ssh/sshd_config

PermitRootLogin yes

开启SSH服务

千万不能restart。使用restart会造成连不上,需要登录控制台启动。

service sshd start

Centos 6.x Openssh 升级 7.7p1 版本的更多相关文章

  1. Linux Centos 7.4 内核升级

    Linux Centos 7.4 内核升级 原始内核版本:3.10.0-693.2.2.el7.x86_64 升级内核版本:4.14.9-1.el7.elrepo.x86_64 1.导入key Key ...

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

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

  3. CentOS openssh升级到openssh-7.2版本

    查看现在的版本SSH -V 一.准备 备份ssh目录(重要) cp -rf /etc/ssh /etc/ssh.bak [ 可以现场处理的,不用设置 安装telnet,避免ssh升级出现问题,导致无法 ...

  4. CentOS openssh升级至7.4版本

    1.原环境: cat /etc/issue CentOS release 6.5 (Final) ssh -V OpenSSH_7.3p1, OpenSSL 1.0.1e-fips 11 Feb 20 ...

  5. centos7 升级openssh到openssh-8.0p1版本

    环境介绍 centos7.3和centos7.6升级完毕测试登录ssh以及重启后登录ssh均无问题. 前期请自行配置好yum源(如果不会请百度) 整个过程不需要卸载原先的openssl包和openss ...

  6. CentOS 6.4下OpenSSH升级到6.7操作

    一.升级前准备 1.下载openssh-6.7p1.tar.gz: cd /usr/local/src/wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/ ...

  7. CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)

    机房一台centos6.9机器部署了jenkins发布系统,开发人员在用node编译js,发现依赖的gcc版本低了,故需要将gcc升级到高版本(至少5.0版本以上),这里选择升级到6.4.0版本,下面 ...

  8. yum-cron更新 CentOS yum update 不升级内核版本方法

    http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...

  9. [centos][yum] centos升级到特定版本

    我们已知,yum upgrade命令可以将整个系统升级到最新版本. 但是很多时候,我们需要更新到指定版本,比如,当前最新的CentOS版本是7.6.1810 但是我需要更新到7.4,可以如下这样做: ...

随机推荐

  1. SpringBoot项目集成socketIo实现实时推送

    netty-socketio maven依赖 <dependency> <groupId>com.corundumstudio.socketio</groupId> ...

  2. 深入理解Kafka必知必会(上)

    Kafka的用途有哪些?使用场景如何? 消息系统: Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦.冗余存储.流量削峰.缓冲.异步通信.扩展性.可恢复性等功能.与此同时,Kafka 还 ...

  3. python基础-集合set及内置方法

    数据类型之集合-set 用途:多用于去重,关系运算 定义方式:通过大括号存储,集合中的每个元素通过逗号分隔.集合内存储的元素必须是不可变的,因此,列表-List 和字典dict 不能存储在集合中 注意 ...

  4. Tomcat项目部署

    一 之前一直是在ecplise 利用tomcat插件的形式启动项目,这里可以通过选择server.xml和context files两种方式这里选择这两者方式,都是会在tomcat/bin下产生对应的 ...

  5. 前端技术之:webpack热模块替换(HMR)

    第一步:安装HMR中间件: npm install --save-dev webpack-hot-middleware   第二步:webpack配置中引入webpack对象     const we ...

  6. Python3爬虫(2)_利用urllib.urlopen发送数据获得反馈信息

    一.urlopen的url参数 Agent url不仅可以是一个字符串,例如:https://baike.baidu.com/.url也可以是一个Request对象,这就需要我们先定义一个Reques ...

  7. 原生JS封装_new函数,实现new关键字的功能

    1.前言 众所周知:没有对象怎么办?那就new一个! 那么在JS中,当我们new一个对象的时候,这个new关键字内部都干了什么呢? 现在我们就来剖析一下原生JS中new关键字内部的工作原理. 2.原生 ...

  8. JVM初体验

    一.设计堆内存溢出异常:OutOfMemoryError: public class Main { public static void main(String[] args) { List<D ...

  9. java编程思想第四版第十章习题

    第一题 package net.mindview.innerclasses; public class Outer { class Inner { Inner(){ System.out.printl ...

  10. nyoj 83-迷宫寻宝(二) (计算几何, 叉积)

    83-迷宫寻宝(二) 内存限制:10MB 时间限制:1000ms 特判: No 通过数:2 提交数:6 难度:5 题目描述: 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个 ...