升级机器信息收集
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 连接异常,登陆不上服务器。
https://matt.ucc.asn.au/dropbear/dropbear.html
配置一个新的SSH 服务 dropbear
wget https://matt.ucc.asn.au/dropbear/dropbear-2020.80.tar.bz2tar -xjf dropbear-2020.80.tar.bz2cd dropbear-2020.80./configure && make && make scp && make installmkdir /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
cp -raf /etc/ssh /etc/ssh.bak2020 cp -raf /etc/init.d/sshd /etc/init.d/sshd.bak2020 cp -raf /root/.ssh/ /root/.ssh.bak2020cp -raf /home/yeemiao/.ssh/ /home/yeemiao/.ssh.bak2020
2.2 openssh 升级yum remove openssh # 卸载 opensshwget https://openbsd.mirror.netelligent.ca/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz tar -xzvf openssh-7.4p1.tar.gzcd 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.4p1mv /etc/init.d/sshd /etc/init.d/sshd.bak2020_2 cp -raf /etc/init.d/sshd.bak2020 /etc/init.d/sshdmv /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
, 然后使用一个新的目录即可。
cp -raf /usr/bin/openssl /usr/bin/openssl.oldcp -raf /usr/include/openssl /usr/include/openssl.oldcp -raf /usr/lib64/libssl.so /usr/lib64/libssl.so.lodcp -raf /usr/lib64/libssl.so.1.0.1e /usr/lib64/libssl.so.1.0.1e.oldcp -raf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.oldcp -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.gzcd openssl-1.0.2j/./config --prefix=/usr/local/openssl102j sharedmake && echo $?make test && echo $?make install && echo $?
openssl 配置# 以下删除的前面都已经备份rm -rf /usr/bin/opensslln -s /usr/local/openssl102j/bin/openssl /usr/bin/opensslrm /usr/include/opensslln -s /usr/local/openssl102j/include/openssl /usr/include/opensslrm /usr/lib64/libssl.so ln -s /usr/local/openssl102j/lib/libssl.so.1.0.0 /usr/lib64/libssl.sorm /usr/lib64/libssl.so.10ln -s /usr/local/openssl102j/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.10rm /usr/lib64/libcrypto.so.10ln -s /usr/local/openssl102j/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10echo "/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 离线 Openssh 升级所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)