日志

Centos6.5 离线 Openssh 升级

 来源    2020-09-16    1  

OpenSSH 升级

升级机器信息收集

OpenSSH/openssl 版本 OpenSSH_6.9p1, OpenSSL 1.0.2j-fips  26 Sep 2016
系统:CentOS release 6.5 (Final)
内核版本:2.6.32-431.el6.x86_64

离线操作说明: 本文是离线操作的,其中依赖的所有的包,都是下载到本地,然后scp 或者其它方式上传到我们的没有外网的机器上的。

主要流程为:

  1. 基于 Dropbear 设置备用 ssh 服务器
  2. 备份 SSH 配置
  3. 编译安装 Openssl (按需)
  4. 升级Openssh
  5. 验证

风险点:

  1. 可能由于 Openssh 更新失败,导致 sshd 服务异常,影响正常登陆。
  2. 也可能存在上述内容升级过程中因依赖问题导致失败。

一、基于 Dropbear 设置备用 ssh 服务器

Dropbear 是一个相对轻量级的SSH服务器和客户端。它是与 OpenSSH 〜/ .ssh / authorized_keys公钥认证兼容的。 我们通过Dropbear 搭建一个新的SSH 服务器。 主要是为了避免在 升级 OpenSSH 的时候,ssh 连接异常,登陆不上服务器。

https://matt.ucc.asn.au/dropbear/dropbear.html

  1. 配置一个新的SSH 服务 dropbear

    wget  https://matt.ucc.asn.au/dropbear/dropbear-2020.80.tar.bz2
    tar -xjf dropbear-2020.80.tar.bz2
    cd dropbear-2020.80
    ./configure &&  make && make scp  && make install
    mkdir /etc/dropbear
    /usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
    /usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key
    /usr/local/sbin/dropbear -p 25022  # 这个加下到开机启动中。 后面再除去。
  2. 测试 dropbear 服务是否可以正常提供SSH 服务

    1. 关闭 sshd,然后通过 dropbear 提供的端口进行登录。 仍然用原来的用户和密码。

二、 Openssh 更新

升级版本为: Openssh7.4 与 阿里云(ECS Centos7.7)版本一致。 OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

2.1 ssh配置 备份

cp -raf /etc/ssh /etc/ssh.bak2020 
cp -raf /etc/init.d/sshd /etc/init.d/sshd.bak2020 
cp -raf /root/.ssh/ /root/.ssh.bak2020
cp -raf /home/yeemiao/.ssh/ /home/yeemiao/.ssh.bak2020

2.2 openssh 升级

yum   remove  openssh  # 卸载 openssh
wget https://openbsd.mirror.netelligent.ca/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz  
tar -xzvf openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-ssl-dir=/usr/local/openssl102j/  #  注意 --with-ssl-dir  值为 openssl 安装的目录。
make && make install &&  
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.4p1    && 
install -v -m644    INSTALL LICENCE OVERVIEW README* /usr/share/doc/openssh-7.4p1

mv /etc/init.d/sshd   /etc/init.d/sshd.bak2020_2 
cp -raf /etc/init.d/sshd.bak2020 /etc/init.d/sshd
mv /etc/ssh/sshd_config  /etc/ssh/sshd_config.bak2020_2 
cp -raf /etc/ssh.bak2020/sshd_config   /etc/ssh/sshd_config  
  
service sshd restart  
chkconfig sshd on

Openssl 升级(由于Openssh编译失败)

异常信息:

error: *** Can't find recent OpenSSL libcrypto (see confiig.log)

解决办法: 重新编译个 openssl

在测试环境这个问题没有出现,可能由于正式环境原来编辑的 openssl 不完整,重新编译下就行了。

重新编译可以保留原来的 openssl, 然后使用一个新的目录即可。

openssl 备份

cp -raf /usr/bin/openssl /usr/bin/openssl.old
cp -raf /usr/include/openssl /usr/include/openssl.old
cp -raf /usr/lib64/libssl.so  /usr/lib64/libssl.so.lod
cp -raf /usr/lib64/libssl.so.1.0.1e /usr/lib64/libssl.so.1.0.1e.old
cp -raf /usr/lib64/libssl.so.10  /usr/lib64/libssl.so.10.old
cp -raf /usr/lib64/libcrypto.so.10  /usr/lib64/libcrypto.so.10.old

openssl 安装

Openssl 下载地址: https://www.openssl.org/source/old/1.0.2/

我这使用的版本是 openssl-1.0.2j

tar  -xzvf  openssl-1.0.2j.tar.gz
cd  openssl-1.0.2j/
./config --prefix=/usr/local/openssl102j  shared
make  && echo $?
make test && echo $?
make install && echo $?

openssl 配置

#  以下删除的前面都已经备份
rm  -rf  /usr/bin/openssl
ln -s /usr/local/openssl102j/bin/openssl  /usr/bin/openssl
rm  /usr/include/openssl
ln -s /usr/local/openssl102j/include/openssl  /usr/include/openssl
rm  /usr/lib64/libssl.so  
ln -s  /usr/local/openssl102j/lib/libssl.so.1.0.0  /usr/lib64/libssl.so
rm   /usr/lib64/libssl.so.10
ln -s  /usr/local/openssl102j/lib/libssl.so.1.0.0  /usr/lib64/libssl.so.10
rm  /usr/lib64/libcrypto.so.10
ln -s  /usr/local/openssl102j/lib/libcrypto.so.1.0.0   /usr/lib64/libcrypto.so.10

echo "/usr/local/openssl102j/lib"  >> /etc/ld.so.conf

加载依赖和检查

ldconfig -v 
openssl version -a

参考文献

Openssl 下载地址: https://www.openssl.org/source/old/1.0.2/

https://www.cnblogs.com/leekeggs/p/9557205.html

https://blog.csdn.net/u012949658/article/details/53771871

相关文章
CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)
日志近期对IDC机房服务器做了一次安全漏洞扫描,漏扫结果显示服务器的OpenSSH版本太低(CentOS6默认是OpenSSH_5.3p1),存在漏洞隐患,安全部门建议升级到OpenSSH_7.6p1.升 ...
1
CentOS6.x服务器OpenSSH平滑升级到7.3p版本——拒绝服务器漏洞攻击
日志 对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及Open ...
1
将ubuntu上的OpenSSH升级到5.8
问答要兼容PCI我需要在运行ubuntu hardy的服务器上运行openssh 5.8.编辑/etc/apt/sources.list从natty安装openssh-server有太多未解决的依赖关系, ...
Centos 6.x Openssh 升级 7.7p1 版本
日志OpenSSH 升级 目前在一家金融公司上班,正好赶上金融公司各种暴雷,本人心里慌慌的. 然后就是金融公司要进行的最低的三级等保评测,各种修改系统安全,密码强度.WAF.防火墙等各种. 评测公司对我司 ...
1
ubuntu下openssh升级
日志因客户漏扫扫描出来openssh及openssl存在漏洞,现升级为官方最新版  这里选择编译安装 去官网下载: openssl-1.0.2o.tar.gz openssh7.7.1 zlib-1.2. ...
1
CentOS 6.4下OpenSSH升级到6.7操作
日志一.升级前准备 1.下载openssh-6.7p1.tar.gz: cd /usr/local/src/ wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH ...
1
centos6.5yum方式升级内核
日志升级内核需要使用elrepo的yum源,在安装yum源之前还需要我们导入elrepo的key,如下: rpm -import https://www.elrepo.org/RPM-GPG-KEY-el ...
1
关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案
日志关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案 漏洞描述 2017年7月11日,Nginx官方发布最新的安全公告,在Nginx ...
1
CentOS6的python2.6升级到python2.7以上版本(可能更详细)
日志前言:一些第三方框架为了降低复杂性,新的版本已经开始不支持旧版本的python,比如Django这个web框架1.8版本及以上仅仅只支持python2.7及以上版本(记忆中是这个1.8版本) pip安 ...
openssh升级到openssh-7.5p1踩坑
日志环境:ubuntu 需要的安装包: http://zlib.net/   zlib 1.2.11最新版 http://www.linux-pam.org/library/   pam 1.3.0 ht ...
1
Centos6.5 python升级成2.7版本出现的一些问题解决方法
日志由于功能及程序依赖,需要将Centos上的python从2.6升级成2.7,把碰到的一些问题记录如下: 安装好2.7后将原来的/usr/bin/python改成/usr/bin/python26,并将 ...
CentOs6.7 python2.6升级到2.7.11
日志1.查看当前python的版本 #python -V Python 2.6.6 #安装前的准备 yum install zlib zlib-devel -y yum install openssl o ...
编译centos6.5:glibc 升级2.14问题
日志第一种:不需要 ln 创建软连接,缺点嘛,就是直接安装到系统文件夹/lib64下,想换回来就比较麻烦.(我选择的第二种,因为公司需要fpm打包,写到脚本里面,第一种之间安装在/usr目录下,打包的包安 ...
CentOS6下yum升级安装mysql
日志CentOS6默认版本的mysql是5.1.73,当前主流版本一般为mysql-5.6,需要安装该版本的话可以执行以下操作 1.1.卸载旧版mysql 1)备份数据 # 直接删除老版本的相关文件可能会 ...
Centos6.5下升级Python版本
日志Cenos6.5升级Python2.6到2.7 1.下载源码包 wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz 2.进行 ...
Centos6.7 python2.6升级到python2.7
日志查看python版本: #python -V Python 2.6.6 1.下载python 2.7.3 #wget http://python.org/ftp/python/2.7.3/Python ...
fuel 9.0完全离线配置+升级fule 9.1+bootstrap制作
日志2017-08-23 fuel 完全离线配置 完全离线适用于部署在内网,无Internet的环境当中,且需要升级fuel版本的情况.理论上,我的办法适用所有版本. 以下所有操作全部在fuel节点上. ...
1
centos7 openssh 7.9.1 升级
日志由于项目构建时间比较长,近期安全检查发现openssh有漏洞.所以要升级openssh到7.9p1版本.由于ssh用于远程连接,所以要谨慎操作. 1. 依赖安装 OpenSSL版本:目前OpenSSH ...
openssh升级的坑爹之路
日志安装Zlib http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --sha ...
Centos6.5离线安装lsb_release
日志参考 http://www.linuxfromscratch.org/blfs/view/systemd/postlfs/lsb-release.html首先在其他电脑下载lsb_release源码地 ...
1