因生成环境服务器安全扫描出的漏洞问题,只能升级最新的openssh,适用于centos6和centos7的升级使用。

一、编译前工作

openssl版本要求1.0.1以上,zlib版本要求1.1.4以上

备份原先ssh配置文件

  1. cp /usr/bin/ssh /usr/bin/ssh_bak
  2. cp /usr/sbin/sshd /usr/sbin/sshd_bak
  3. cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
  4. cp /etc/init.d/sshd /etc/init.d/sshd_bak

下载openssh的官网地址

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

二、编辑安装openssh

openssh编译参数简述

  1. --prefix=PREFIX #安装到哪个路径,默认[/usr/local]
  2. --sysconfdir=DIR #配置路径,默认[PREFIX/etc]
  3. --mandir=DIR #帮助文档路径
  4. --with-md5-passwords #开启使用MD5的密码
  5. --with-zlib=PATH #指定zlib的安装路径
  6. --with-ssl-dir=PATH #指定openssl的安装路径
  1. tar zxf openssh-8.7p1.tar.gz
  2. cd openssh-8.7p1
  3. ./configure --prefix=/usr/local/openssh-8.7p1/ --sysconfdir=/etc/ssh/ --with-md5-passwords --mandir=/usr/share/man
  4. make -j 4 && make install

删除旧的ssh命令

  1. rm -f /usr/libexec/openssh/sftp-server
  2. rm -f /usr/bin/ssh-copy-id
  3. rm -f /usr/bin/ssh-add
  4. rm -f /usr/bin/ssh-agent
  5. rm -f /usr/bin/ssh-keygen
  6. rm -f /usr/bin/ssh-keyscan
  7. rm -f /usr/bin/scp
  8. rm -f /usr/bin/sftp
  9. rm -f /usr/bin/ssh
  10. rm -f /usr/sbin/sshd

替换新的ssh命令和常用工具,常用工具都在解压包内复制到系统路径下。

  1. cp -p sftp-server /usr/libexec/openssh/
  2. cp contrib/ssh-copy-id /usr/bin/ssh-copy-id
  3. cp -p /usr/local/openssh-8.7p1/bin/* /usr/bin
  4. cp -p /usr/local/openssh-8.7p1/sbin/* /usr/sbin

设置权限

  1. chmod -R 755 /usr/local/openssh-8.7p1/
  2. chmod -R 755 /usr/bin/ssh*
  3. chmod -R 755 /usr/bin/scp
  4. chmod -R 755 /usr/bin/sftp
  5. chmod -R 755 /usr/sbin/ssh*

复制SSH的启动脚本和设置开机自启

  1. cp -p contrib/redhat/sshd.init /etc/init.d/sshd
  2. chmod +x /etc/init.d/sshd
  3. chown root.root /etc/init.d/sshd
  4. chkconfig --add sshd

SSH重启之前可以先测试配置文件是否有问题,防止重启SSH失败,远程连接断了,如果是本地终端连接可以直接重启

  1. /usr/local/openssh-8.7p1/sbin/sshd -t -f /etc/ssh/sshd_config

前面如果没有报错就可以重启SSH了

  1. /etc/init.d/sshd restart

三、特别说明

centos7可能会因为/usr/lib/systemd/system/sshd.service文件而导致重启失败,因此写了if简单判断下

  1. if [ -f /usr/lib/systemd/system/sshd.service ];then
  2. cat >/usr/lib/systemd/system/sshd.service <<-EOF
  3. [Unit]
  4. Description=OpenSSH server daemon
  5. Documentation=man:sshd(8) man:sshd_config(5)
  6. After=network.target
  7. [Service]
  8. ExecStart=/usr/sbin/sshd
  9. [Install]
  10. WantedBy=multi-user.target
  11. EOF
  12. systemctl daemon-reload
  13. systemctl restart sshd || /usr/local/openssh-8.7p1/sbin/sshd
  14. else
  15. /etc/init.d/sshd restart || /usr/local/openssh-8.7p1/sbin/sshd
  16. fi

CentOS7编译安装升级openssh8.7p1的更多相关文章

  1. CentOS7编译安装Nginx-1.8.1和编译参数

    CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...

  2. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  3. centos7 编译安装新版LNMP环境

    centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...

  4. CentOS7编译安装httpd-2.4.41 php7.3

    CentOS7编译安装httpd-2.4.41 php7.3 安装参考环境: CentOS Linux release 7.5.1804 (Core) 一.安装依赖包 httpd安装的依赖包 # yu ...

  5. Centos7 编译安装PHP7

    Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...

  6. CentOS7编译安装php7.1配置教程详解

    这篇文章主要介绍CentOS7编译安装php7.1的过程和配置详解,亲测 ,需要的朋友可以参考. 1.首先安装依赖包: yum install libxml2 libxml2-devel openss ...

  7. centos7编译安装nginx及无缝升级https

    安装依赖: yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 下载nginx: wget -c  ...

  8. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Mariadb 10.1.20 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  9. Centos7 编译安装 Nginx Mariadb Asp.net Core2 (实测 笔记 Centos 7.3 + Openssl 1.1.0h + Mariadb 10.3.7 + Nginx 1.14.0 + Asp.net. Core 2 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

随机推荐

  1. react中label标签的作用

    当我们点击输入内容触发input焦点的时候,就需要使用到label标签里的htmlFor属性来扩大点击的区域 代码如下:

  2. Linux上天之路(十五)之文件查找

    主要内容 精确查找 模糊查找 1. 精确查找 find - search for files in a directory hierarchy 递归地在层次目录中处理文件 查找方式: 按文件属性查找 ...

  3. Pandas系列(十七)-EDA(pandas-profiling)

    对于探索性数据分析来说,做数据分析前需要先看一下数据的总体概况,pandas_profiling工具可以快速预览数据. 安装 pip install pandas-profiling 使用 impor ...

  4. Servlet部署描述符

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6512237744641540612/ <Servlet简单实现开发部署过程>中的过程,可以概括为以下模 ...

  5. 移动端字体图标不显示的Bug

    用16进制编码的字体图标在部分小米机型显示不正常. 测试机型:小米1,小米1s,小米2浏览器:微信6.1内置浏览器,QQ浏览器 5.7 X5内核字体图标:不显示svg图标:显示正常 以下来自额微信内置 ...

  6. rocketmq实现延迟队列(精确到秒级)

    最近项目里需要在延时队列,但是开源版本rocketmq不支持任意时间延时,造成有些任务无法执行 参考了网上的不少文章,但是都么有实现,所以再开源的基础上改造了个支持任意时间延时的队列. 源码地址: h ...

  7. 【源码阅读】vm-insert与vm-storage之间的通讯

    先说结论 vm-insert与vm-storage之间采用极其简单的通讯协议 对于简单的场景,越简单性能越高 vm-insert连接到vm-storage后,先发送字符串vminsert.02,vm- ...

  8. 搭建服务器之www-安装配置

    www服务器,使用软件Apache,服务守护进程为httpd,以下为安装配置过程: 1.首先yum install httpd,会下载安装Apache软件,可以用apachectrl -v查看版本,发 ...

  9. Filter的拦截路径

    Filter的拦截路径 精确匹配 <url-pattern>/target.jsp</url-pattern> 以上配置的路径,表示请求地址必须为:http://ip.port ...

  10. 不难懂------react-flux

    一.什么是Flux Flux 是一种架构思想,专门解决软件的结构问题.它跟MVC 架构是同一类东西,但是更加简单和清晰. 二.flux的基本概念 (1) .Flux由4部分组成 1.View:视图层 ...