由于项目构建时间比较长,近期安全检查发现openssh有漏洞。所以要升级openssh到7.9p1版本。由于ssh用于远程连接,所以要谨慎操作。

1、 依赖安装

   OpenSSL版本:目前OpenSSH7.9不支持OpenSSH1.1.x以上。否则编译的时候会报错。

  Zlib1.1.4或1.2.1.2或更高版本;

  gcc:因为编译需要gcc;

  openssl-devel:编译时需要

2、下载openssh 7.9

 wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz

3、卸载旧的opehssh

    rpm -qa |grep openssh
rpm -e --nodeps openssh-clients-.4p1-.el7.x86_64
rpm -e --nodeps openssh-.4p1-.el7.x86_64
rpm -e --nodeps openssh-server-.4p1-.el7.x86_64
rpm -qa |grep openssh

如果之前就是源码安装的,找到之前的安装包,在里面执行

make uninstall

4、解压并安装

    4.1)解压
tar xf openssh-7.9p1.tar.gz
cd openssh-7.9p1 4.2)编译
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd
make
注意!!!
注意!!!
注意!!!
① configure: error: no acceptable C compiler found in $PATH 
问题解决
yum install gcc
② configure: error: * zlib.h missing - please install first or check config.log *
问题解决
安装相关依赖包
yum install openssl openssl-devel -y 
  4.3)修改文件权限否则会安装报错 
  chmod 600 /etc/ssh/ssh_host_rsa_key
  chmod 600 /etc/ssh/ssh_host_ecdsa_key
  chmod 600 /etc/ssh/ssh_host_ed25519_key
  
  4.4)安装   make install

5、配置

install -v -m755 contrib/ssh-copy-id /usr/bin 
install -v -m644 contrib/ssh-copy-id.1 /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-7.9p1
install -v -m644 INSTALL LICENCE OVERVIEW README*
install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.9p1

命令解释:

--sysconfdir=/etc/ssh:这可以防止安装配置文件 /usr/etc。

--with-md5-passwords:这使得可以使用MD5密码。

--with-pam:此参数在构建中启用 Linux-PAM支持。

--with-xauth=/usr/bin/xauth:为X身份验证设置xauth二进制文件的默认位置。如果将xauth安装到其他路径,请更改位置。这也可以sshd_config使用XAuthLocation关键字进行控制。如果已安装Xorg,则可以省略此开关。

--with-kerberos5=/usr:此选项用于在构建中包含Kerberos 5支持。

--with-libedit:此选项为sftp启用行编辑和历史记录功能。

6、根据自身需求改写配置文件。因为配置文件为初始配置文件。所以和之前的不一样。可以使用备份配置文件覆盖。

注意:

  默认是22端口,但是不能root直接登录。如果想直接使用root登录执行以下命令

echo "PermitRootLogin yes" >> /etc/ssh/sshd_config

7、配置开机启动并重启

cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd
systemctl restart sshd

8、重启服务器

reboot

脚本:

该脚本在确认好本机环境的情况后执行 !!!

cat openssh_7..1_update.sh
#!/bin/bash
rpm -qa |grep zlib
rpm -qa |grep openssl
rpm -qa |grep openssh
gcc --version
read -p "是否继续[y/n]" Check if [ $Check == 'y' ]
then
for rpmpkgs in `rpm -qa |grep openssh`; do rpm -e --nodeps ${rpmpkgs} ;done
sleep
rpm -qa |grep openssh mkdir /tmp/opensshupdate -p
cd /tmp/opensshupdate && wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-privsep-path=/var/lib/sshd
make sleep chmod /etc/ssh/ssh_host_rsa_key
chmod /etc/ssh/ssh_host_ecdsa_key
chmod /etc/ssh/ssh_host_ed25519_key make install
sleep install -v -m755 contrib/ssh-copy-id /usr/bin
install -v -m644 contrib/ssh-copy-id. /usr/share/man/man1
install -v -m755 -d /usr/share/doc/openssh-.9p1
install -v -m644 INSTALL LICENCE OVERVIEW README*
install -v -m644 INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-.9p1
sleep echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
sleep cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd
systemctl restart sshd
else
break
fi

centos7 openssh 7.9.1 升级的更多相关文章

  1. CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)

    近期对IDC机房服务器做了一次安全漏洞扫描,漏扫结果显示服务器的OpenSSH版本太低(CentOS6默认是OpenSSH_5.3p1),存在漏洞隐患,安全部门建议升级到OpenSSH_7.6p1.升 ...

  2. 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案

    关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案 漏洞描述 2017年7月11日,Nginx官方发布最新的安全公告,在Nginx ...

  3. 完美原创:centos7.1 从源码升级安装Python3.5.2

    (原创)完美原创:centos7.1 从源码升级安装Python3.5.2 下载Python3.5.2源码:https://www.python.org/downloads/release/pytho ...

  4. centos7.1 从源码升级安装Python3.5.2

    http://blog.csdn.net/tengyunjiawu_com/article/details/53535153 centos7.1 从源码升级安装Python3.5.2(我写的,请大家度 ...

  5. [转]Centos7 内核从3.10升级到4.12过程

    [原文地址] http://blog.csdn.net/youshijifen/article/details/73472434 [摘要] 近期,国家互联网应急中心漏洞(CNCERT)公告中提到Lin ...

  6. Centos7下把python 2.7升级到python 3.6(升级过程遇到的一些相关问题)

    Centos 7 默认安装的Python 的版本是2.7的,现在不少人用的是3.x上的版本,故而需要了解下如何从Python2.7升级到Python 3.6. 在虚拟机安装时,网络不通会先遇到一个错误 ...

  7. CentOS7使用yum和源码升级内核

    原文:https://blog.csdn.net/bayin4937/article/details/100949870 两种方式升级内核 一.yum升级内核 参考:https://blog.csdn ...

  8. CentOS7下 Python2.7.5升级为Python2.7.13

    参考:https://www.jianshu.com/p/fad3942fc0ed 第一步:查看Centos版本及Python版本 • CentOS版本 [root@ tools_package]# ...

  9. Centos7 内核从3.10升级到4.12过程

    http://blog.csdn.net/youshijifen/article/details/73472434

随机推荐

  1. 机器学习实战3:逻辑logistic回归+在线学习+病马实例

    本文介绍logistic回归,和改进算法随机logistic回归,及一个病马是否可以治愈的案例.例子中涉及了数据清洗工作,缺失值的处理. 一 引言 1 sigmoid函数,这个非线性函数十分重要,f( ...

  2. B/S 端基于 HTML5 + WebGL 的 VR 3D 机房数据中心可视化

    前言 在 3D 机房数据中心可视化应用中,随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的 ...

  3. ubuntu 虚拟机设置静态ip

    $ sudo vim /etc/network/interfaces auto ens33   # 使用的网络接口,之前查询接口是为了这里     iface ens33 inet static    ...

  4. 卡特兰(Catalan)数入门详解

    也许更好的阅读体验 基本概念 介绍 学卡特兰数我觉得可能比组合数要难一点,因为组合数可以很明确的告诉你那个公式是在干什么,而卡特兰数却像是在用大量例子来解释什么时卡特兰数 这里,我对卡特兰数做一点自己 ...

  5. Linux配置部署_新手向(五)——Docker的安装与使用

    前言 最近还是在考虑Linux下net core的部署问题,还是发现了很多麻烦的问题,这里还是继续把需要使用的东西部署介绍下吧. Docker 其实对于Docker我也是一星半点儿,了解的不够深入,大 ...

  6. nuxt.js部署vue应用到服务端过程

    由于seo的需要,最近将项目移植道nuxt.js下采用ssr渲染 移植完成后,一路顺畅,但是到了要部署到服务器端上时候,还是个头疼的问题,但最终还是顺利完成.现在记录一下部署中的过程. 注:部署时候过 ...

  7. 网络数据请求request

    关于网络数据请求的类很多,httpwebrequest,webrequest,webclient以及httpclient,具体差别在此不在赘述,在应用方面介绍webclient与httpclient则 ...

  8. vue的数据双向绑定

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 微服务SpringCloud之服务网关zuul二

    Zuul的核心 Filter是Zuul的核心,用来实现对外服务的控制.Filter的生命周期有4个,分别是“PRE”.“ROUTING”.“POST”.“ERROR”,整个生命周期可以用下图来表示. ...

  10. Linux文件同步工具之rsync

    学习背景 1.最近公司的项目在使用jenkins做自动化构建,因为jenkins在构建时是比较耗性能的,便单独使用了一台服务器做构建服务器.但是个人觉得这样成本过高,单独拿一台服务器来构建并且该服务器 ...