1、为了防止升级失败登陆不了,所以需要安装telnet

mkdir /root/ssh_update
yum install -y telnet-server
yum install -y xinetd

centos6:
sed -i '/disable/s/yes/no/' /etc/xinetd.d/telnet
service xinetd start

检查下23端口,证明telnet服务已经运行了

centos7:
systemctl start telnet.socket
systemctl start xinetd


注意:
默认情况下,系统是不允许root用户telnet远程登录的。如果要使用root用户直接登录,需设置如下内容。或者可以添加一个可以登录的用户,登录并su到root用户。
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
centos6:
service xinetd restart

centos7:
systemctl restart telnet.socket

验证telnet(默认是23端口):

2、检查环境
官方给出的文档中提到的先决条件openssh安装依赖zlib1.1.4并且openssl>=1.0.1版本就可以了。那么直接看当前系统的openssl版本是多少

ps:没有问题,版本不需要升级

# 安装相关组件并升级openssh:
yum install -y gcc openssl-devel pam-devel zlib zlib-devel

# 备份原来的数据
mv /etc/ssh/ /mnt/ssh.bak

# 删除现在安装sshd相关软件包
rpm -e `rpm -qa | grep openssh` --nodeps

3、下载需要的源码包并升级openssh:

# 下载openssh7.9的源码包
wget \
https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
tar xf openssh-7.9p1.tar.gz
cd openssh-7.9p1

# 编译sshd
./configure --sysconfdir=/etc/ssh

# 安装sshd
make && make install

# 查看下ssh命令的执行路径
[root@localhost ~]# which sshd
/usr/local/sbin/sshd

# 复制源码解压路劲的开机启动脚本
cp /root/ssh_update/openssh-7.9p1/contrib/redhat/sshd.init /etc/init.d/sshd

# 修改开机启动文件
sed -i '25cSSHD=/usr/local/sbin/sshd' /etc/init.d/sshd
sed -i '41c/usr/local/bin/ssh-keygen -A' /etc/init.d/sshd

# 修改配置文件,允许root通过ssh远程登陆
sed -i "/#PermitRootLogin prohibit-password/aPermitRootLogin yes" \
/etc/ssh/sshd_config

# 复制文件到/usr/local/bin/下
cp /root/ssh_update/openssh-7.9p1/contrib/ssh-copy-id /usr/local/bin
chmod +x ssh-copy-id

# 启动sshd服务
service sshd start

# 查看下ssh版本
[root@localhost ~]# ssh -V
OpenSSH_7.9p1, OpenSSL 1.0.1e-fips 11 Feb 2013

###################################################################

  1. OpenSSH 8.0 发布了,此版本缓解了 scp() 工具和协议漏洞 CVE--,该漏洞此前我们之前报导过:知名文件传输协议 SCP 被曝存在 年历史的安全漏洞。
  2.  
  3. 将文件从远程系统复制到本地目录时,SCP 客户端无法验证 SCP 服务器返回的对象是否与请求的东西一致,这使得攻击者可以使用恶意服务器控制的内容创建或破坏本地文件。
  4.  
  5. OpenSSH 8.0 的缓解措施添加了客户端检查,查看从服务器发送的文件名与命令行请求是否匹配。
  6.  
  7. SCP 协议已经过时,不灵活且不易修复,OpenSSH 官方建议使用更现代的协议进行文件传输,如 sftp rsync
  8.  
  9. 此版本新特性包括:
  10.  
  11. ssh()、ssh-agent()、ssh-add():PKCS# token 中添加对 ECDSA 密钥的支持。
  12. ssh()、sshd():基于 Streamlined NTRU Prime ^ X25519 的组合,添加实验性量子计算抗性密钥交换方法。
  13. ssh-keygen():将默认 RSA 密钥大小增加到 位。
  14. ssh():允许“PKCS11Provider = none”覆盖 ssh_config PKCS11Provider 指令的后续实例。
  15. ssh():提示是否录制新主机密钥时,输入密钥指纹作为“yes”。
  16. ssh-keygen():在单个命令行调用上签名多个证书时,允许自动递增证书序列号。
  17. scp()、sftp():接受 -J 选项作为 scp sftp 命令行上 ProxyJump 的别名。
  18. ssh-agent()、ssh-pkcs11-helper()、ssh-add():接受“-v”命令行标志以增加输出的详细程度;将详细标志传递给子进程,例如从 ssh-agent 启动的 ssh-pkcs11-helper
  19. ssh-add():添加“-T”选项以允许通过执行签名和验证来测试代理中的密钥是否可用。
  20. sshd():在 PAM 环境中暴露 $SSH_CONNECTION
  21. 完整更新内容查看更新日志:
  22.  
  23. http://www.openssh.com/txt/release-8.0

centos6升级openssh至7.9的更多相关文章

  1. CentOS6、7升级Openssh至7.9

    出于安全考虑,定期使用Nessus对服务器进行扫描,最新Nessus提示服务器的SSH版本有漏洞,所以把SSH升级到最新版本 1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /ro ...

  2. Centos6.5升级openssh至7.4版本

    一,备份配置文件,以备升级失败进行回退 二,下载安装包 wget http://www.zlib.net/zlib-1.2.11.tar.gz wget https://openbsd.mirror. ...

  3. centos升级openssh的两种方式

    此文介绍的是服务器在有网络和无网络情况下升级openssh方式. 一.首先介绍一个无网络如何升级: 1.准备相关的包 openssh下载地址:  http://mirror.internode.on. ...

  4. CentOS 6.9 升级OpenSSH版本 关闭ssh服务后门

    最近用低版本的OpenSSH(5.9p1版本) 的漏洞给系统留了个后门 , 可以劫持root密码或者给root开启后门密码 : 利用Openssh后门 劫持root密码 如果公司还在用CentOS6的 ...

  5. 升级openssh踩得坑

    升级背景: 项目中使用的系统为CentOS6.8,经过漏洞扫描后发现openssh高危漏洞,具体描述如下:OpenSSH 7.2p2之前版本, sshd/ session.c/ do_setup_en ...

  6. redhat6.4升级openssh至6.7

    1:简介 最近浙江电信对线上服务器进行漏洞扫描,暴露出原有的openssh有漏洞,建议升级openssh版本: 2:操作环境 Red Hat Enterprise Linux Server relea ...

  7. 升级OpenSSH详细步骤

    由于系统扫描到OpenSSH版本太低,所以需要将其升级到高版本.网上搜罗数个文章,都多多少少有点疏漏.加上自己之前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了不少劲儿.所以综合一下前辈们 ...

  8. linux升级openssh到7.9

    客户linux主机ssh存在高危漏洞,需要进行升级修复. linux联网后,直接命令行: [root@gw ~]# yum update openssl -y 此命令只是小版本的升级,比如将opens ...

  9. centos升级openssh版本

    似乎升级就是简单的安装ssh包就行了,没进行其他修改,虚拟机24个中高低漏洞解决 安装最新包: 1.下载:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/por ...

随机推荐

  1. 《java编程思想》P125-P140(第七章复用类部分)

    1.类的成员默认的是包访问权限.允许包内成员访问 2.super.scrub() 调用基类的scrub方法 3.继承并不是复制基类的接口.当创建了一个导出类(子类)对象时,该对象包含了一个基类的子对象 ...

  2. Centos 7.2天兔(Lepus 3.8)数据库监控系统部署

    天兔(Lepus 3.8)数据库监控系统部署 转载自:https://blog.csdn.net/m0_38039437/article/details/79613260 一.安装LAMP基础环境 首 ...

  3. 深入了解一下HTTP缓存机制

    HTTP 缓存机制作为 web 性能优化的重要手段,是Web 开发知识体系库中的一个基础环节,但是对于很多学习者来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的, ...

  4. luogu P2210 Haywire

    [返回模拟退火略解] 题目描述 一数轴上有 nnn 个点,有 nnn 个环,求一种组合方案,使得所有边长度和最小. Solution 2210\text{Solution 2210}Solution  ...

  5. 详细解读 Spring AOP 面向切面编程(一)

    又是一个周末, 今天我要和大家分享的是 AOP(Aspect-Oriented Programming)这个东西,名字与 OOP 仅差一个字母,其实它是对 OOP 编程方式的一种补充,并非是取而代之. ...

  6. 【Java必修课】ArrayList与HashSet的contains方法性能比较(JMH性能测试)

    1 简介 在日常开发中,ArrayList和HashSet都是Java中很常用的集合类. ArrayList是List接口最常用的实现类: HashSet则是保存唯一元素Set的实现. 本文主要对两者 ...

  7. 一张图看懂Rxjava的原理

    前言 Rxjava是NetFlix出品的Java框架, 官方描述为 a library for composing asynchronous and event-based programs usin ...

  8. Halcon一日一练:阈值分割的几个算子

    threshold(Image:Region:MinGray:MaxGray:) 功能:得到灰度值在最小与最大这间的那些部分.其返回仍然是一个区域. MinGray<MaxGray. 这个算子可 ...

  9. MFC连接Sqlserver

    下载 ado2.h和ado2.cpp文件 在VC++ 目录-->包含目录 -->添加  msado15.dll, msjro.dll 目录. // TODO: 连接sqlserver, 在 ...

  10. 【MySQL】事务隔离级别及ACID

    注:begin或start transaction并不是一个事务的起点,而是在执行它们之后的第一个操作InnoDB表的语句,事务才真正开始.start transaction with consist ...