Centos6.5 离线 Openssh 升级
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 或者其它方式上传到我们的没有外网的机器上的。
主要流程为:
- 基于 Dropbear 设置备用 ssh 服务器
- 备份 SSH 配置
- 编译安装 Openssl (按需)
- 升级Openssh
- 验证
风险点:
- 可能由于
Openssh更新失败,导致sshd服务异常,影响正常登陆。 - 也可能存在上述内容升级过程中因依赖问题导致失败。
一、基于 Dropbear 设置备用 ssh 服务器
Dropbear 是一个相对轻量级的SSH服务器和客户端。它是与 OpenSSH 〜/ .ssh / authorized_keys公钥认证兼容的。 我们通过Dropbear 搭建一个新的SSH 服务器。 主要是为了避免在 升级 OpenSSH 的时候,ssh 连接异常,登陆不上服务器。
配置一个新的SSH 服务
dropbearwget 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 # 这个加下到开机启动中。 后面再除去。
测试
dropbear服务是否可以正常提供SSH 服务- 关闭
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.5 离线 Openssh 升级的更多相关文章
- CentOS6.5的openssl升级
CentOS6.5的openssl升级:(修复心脏漏血漏洞) [root@linux1 ~]# rpm -qi openssl|grep VersionVersion : 1.0.1e Vendor: ...
- Centos 6.x Openssh 升级 7.7p1 版本
OpenSSH 升级 目前在一家金融公司上班,正好赶上金融公司各种暴雷,本人心里慌慌的. 然后就是金融公司要进行的最低的三级等保评测,各种修改系统安全,密码强度.WAF.防火墙等各种. 评测公司对我司 ...
- 记录openssl和openssh升级中遇到的问题以及解决方法
本文档讲述的升级操作是基于操作系统centos6.5,使用的openssl版本是openssl-1.0.2l.tar.gz,openssh版本是openssh-7.6p1.tar.gz. 1. 依赖检 ...
- 【原创】大叔问题定位分享(28)openssh升级到7.4之后ssh跳转异常
服务器集群之间忽然ssh跳转不通 # ssh 192.168.0.1The authenticity of host '192.168.0.1 (192.168.0.1)' can't be esta ...
- centos6.5源码升级内核
centos6.5源码升级内核 升级前 系统版本: CentOS5.5 内核版本: 2.6.18-194.el5 升级前做过简单配置文件修改 yum -y upgrade 升级后 系统版本: ...
- CentOS6.x服务器OpenSSH平滑升级到7.3p版本——拒绝服务器漏洞攻击
对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...
- CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击
对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...
- centos7生产环境下openssh升级
由于生产环境ssh版本太低,导致使用安全软件扫描时提示系统处于异常不安全的状态,主要原因是ssh漏洞.推荐通过升级ssh版本修复漏洞 因为是生产环境,所以有很多问题需要注意.为了保险起见,在生产环境下 ...
- CentOS openssh升级到openssh-7.2版本
查看现在的版本SSH -V 一.准备 备份ssh目录(重要) cp -rf /etc/ssh /etc/ssh.bak [ 可以现场处理的,不用设置 安装telnet,避免ssh升级出现问题,导致无法 ...
随机推荐
- vue2和vue3的区别
一.常用命令 vue -V 查看本地 vue 版本 二.官方文档 3.0:https://cli.vuejs.org/zh/ 三.创建文件 3.0:vue create 进入工程文件夹,创建项目. 2 ...
- excel表格,根据某一列的值对整行进行颜色填充
1.选中要影响的表格范围,选择 “条件格式”,选择 “新建规则” (2)选择 “使用公式确定要设置格式的单元格”,录入公式,选择 “ 格式”,注意: 公式为:=$H1="待解决" ...
- web主题适配方案指北
前置知识 在这里了解实现网页主题切换的相关知识. CSS 变量 要实现主题切换需要了解一点 css 自定义属性.当然,本文还提供了其他实现方式,为了不给您接下来的阅读带来阻碍,先了解它. 变量的声明 ...
- 七夕节表白3d相册制作(html5+css3)
七夕节表白3d相册制作 涉及知识点 定位 阴影 3d转换 动画 主要思路: 通过定位将所有照片叠在一起,在设置默认的样式以及照片的布局,最后通过设置盒子以及照片的旋转动画来达到效果. 代码如下: &l ...
- python之常用正则表达式
以下整理python中常用的正则符号,相信能够熟悉掌握这些正则符号,大部分字符串处理将会游刃有余. 符号 含义 示例 . 可以匹配任意字符,但不包含换行符'\n' Pyt.on ->Pytmon ...
- 开启gzip压缩/cdn是否会影响抓取和收录量
http://www.wocaoseo.com/thread-291-1-1.html 服务器开启gzip压缩是否会影响蜘蛛抓取和收录量?站点开了CDN,对百度SEO影响有多大?我发现我们站自从开了C ...
- 断言函数-RF
测试用例的目的是要验证一些操作否符合我们的预期结果,所以在测试用例中,断言函数是必不可少的一项.我们做的每一步操作都会有预期的结果,为了保证操作得到的结果符合预期,我们需要在测试用例中添加断言,来保证 ...
- 解决Oracle12cr2自创建用户无法登录的问题
说明: 下面创建是创建CDB本地用户,不是PDB应用程序用户,如果是PDB应用程序创建语法会不一样.下面介绍创建CDB本地用户. 创建表空空间 CREATE TABLESPACE YH datafil ...
- Spark保存的时候怎么去掉多余的引号转义
今天用SparkSQL保存一份json数据的时候,引号被转义了,并用括号包起来了,导致下游新来的小伙伴无法处理这份数据. 保存后的数据长这样(用\t分割): data "{\"ke ...
- slua中,绑定lua文件到Monobehavior的一种方法
slua本身并不提供如何把一个lua文件绑定到一个预制中,就像一个普通的继承自monobehavior的自定义脚本那样,而tolua的框架却采用了拙劣的做法: public class LuaBeha ...