xu言:

平时很懒,都不想写blog。今天(2018.05.15)开始尝试每天写一篇吧,看我自己能坚持多久!

准备工作:

为了防止在操作过程中导致ssh远程中断,首先安装一个telnet-server服务

yum install -y telnet-server

chkconfig telnet on   # 前提是启动了  chkconfig --list |grep "xinetd"

通过chkconfig --list 查看是否开启

这里开启后telnet 状态是 on

Note: 开启后记得在防火墙里面添加23端口,不然...呵呵,你懂的

然后,在外面用你自己的远程工具使用telnet进行测试,测试成功后开始进行升级工作。

所需相关软件包资源汇总:

zlib

http://www.zlib.net/

pam

http://mirror.centos.org/centos/6/os/x86_64/Packages/pam-devel-1.1.1-24.el6.x86_64.rpm

openssl

http://www.openssl.org/source/

openssh

http://www.openssh.com/

源码安装步骤:

zlib 安装

tar xf zlib-1.2.11.tar.gz

./configure --prefix=/usr/local/zlib

make && make install  # 如果是非root用户自己加sudo

pam 安装

rpm -ivh pam-devel-1.1.1-24.el6.x86_64.rpm --nodeps # 不检查依赖关系直接安装

 OpenSSL 安装(版本根据实际情况下载,这里演示用1.01g版本)

tar zxf openssl-1.0.1g.tar.gz

cd openssl-1.0.1g

./config --prefix=/usr/local/openssl --shared

make  && make install

mv /usr/bin/openssl /usr/bin/openssl.bak

mv /usr/include/openssl /usr/include/openssl.bak

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/openssl/include/openssl /usr/include/openssl

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

验证结果:

ldconfig -v

openssl version -a

OpenSSH 安装

./configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-zlib=/usr/local/zlib --with-md5-passwords --with-pam

make && make install

# 复制配置文件
cp ssh_config /etc/ssh/
cp sshd_config /etc/ssh/
cp moduli /etc/ssh/

# 复制启动脚本到/etc/init.d
# 根据安装路径情况,可能需要修改启动脚本中sshd的路径
cp contrib/redhat/sshd.init /etc/init.d/sshd
/usr/sbin/sshd -t -f /etc/ssh/sshd_config

# 加入开机自启
chkconfig --add sshd
chkconfig sshd on
chkconfig sshd --list

# 开启SSH服务
# 不推荐restart。使用restart会造成连不上,需要登录控制台启动。(如果restart了,不能ssh后。可以使用telnet方式处理)
/etc/init.d/sshd start  # 启动服务

最后,进行一些收尾工作

chkconfig telent off   # 关闭telnet

sudo rpm -e telnet-server-0.17-48.el6.x86_64 --nodeps  # 卸载telnet相关rpm包

遇到问题:

报错一:
libssl.so.10: cannot open shared object file: No such file or directory

解决方案:
cd /usr/lib64(如果是32位系统路径则是/usr/lib)
寻找libssl.so* 和 libcrypto.so*
ll /usr/lib64/libssl.so*

ll /usr/lib64/libcrypto.so*

创建软链接
ln -s /usr/lib64/libssl.so.1.0.0 libssl.so.10
ln -s /usr/lib64/libcrypto.so.1.0.0 libcrypto.so.10
报错二: 
编译安装openssl报错:POD document had syntax errors at /usr/bin/pod2man line 69. make: *** [install_docs]
mv /usr/binpod2man{,.bak}
   
报错三:
OpenSSL headers missing - please install first or check config.log ***
yum install openssl-devel

*** zlib.h missing - please install first or check config.log ***

yum install zlib-devel

错误四:

提示给予的文件权限太高不安全,把指定的key文件给予700即可


Sum:
1.因为遇到了openssl 和openssh 不一致的问题,才发现有顺序问题。所以使用源码进行重新编译。先openssl,再 openssh
2.操作前一定开启telnet以防万一,小心使得万年船。特别是生产环境下面
3.不同环境下面操作可能会遇到一些新的问题。但是,仔细阅读报错代码也是一种学习过程

参考资料:

http://www.heminjie.com/system/linux/1766.html

https://www.jianshu.com/p/8c66fdab0c1f

http://blog.sina.com.cn/s/blog_60bf8fe90101715h.html

https://pkgs.org/  # rpm包下载

Centos6.5 升级Openssl + Openssh的更多相关文章

  1. 实战redhat6.5离线升级openssl&openssh

    记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...

  2. CentOS6.6升级openssl到1.0.2a

    如果安装的CentOS不是完整版,需要安装下面几个安装包 安装wget: yum -y install wget 安装Perl: yum install perl* 安装gcc: yum instal ...

  3. CentOS6.5的openssl升级

    CentOS6.5的openssl升级:(修复心脏漏血漏洞) [root@linux1 ~]# rpm -qi openssl|grep VersionVersion : 1.0.1e Vendor: ...

  4. CentOS7源码升级OpenSSL和OpenSSH

    一.CentOS7升级OpenSSL 1.查看ssl版本及下载相关依赖包 openssl version -a yum install -y gcc openssl-devel pam-devel r ...

  5. Centos6.5升级openssh至7.4版本

    一,备份配置文件,以备升级失败进行回退 二,下载安装包 wget http://www.zlib.net/zlib-1.2.11.tar.gz wget https://openbsd.mirror. ...

  6. centos7升级openssl、openssh常见问题及解决方法

    升级至openssl 1.1.1版本 升级至openssh 8.0版本 openssl version -a   当前查看版本 一.安装telnet (以防升级失败,连不上服务器,建议弄) #查看是否 ...

  7. centos6/7 下升级openssl并安装python3

    今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...

  8. 升级openssl和openssh版本

    一.安装telnet-server服务(建议安装) 1. 查看系统是否已安装telnet-server,linux系统上默认已经安装telnet-client(或telnet),而telnet-ser ...

  9. Centos6.5升级安装openssh7.7p1

    Centos6.5升级安装openssh7.7p1  关于OpenSSH漏洞   2016年1月14日OpenSSH发布官方公告称, OpenSSH Client 5.4~7.1 版本中未公开说明的功 ...

随机推荐

  1. python&django 常见问题及解决方法

    0.python-dev安装(ubuntu) apt-get install  python-dev 1.Open(filename,mode) 报错实例: f = open('d:\Users\16 ...

  2. 没有使用Material组件和使用了的对比

    import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...

  3. 小C的数学问题 【单调栈】

    问题 J: 小C的数学问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 565  解决: 141 [提交] [状态] [命题人:外部导入] 题目描述 小C是个云南中医学院的大一新生,在 ...

  4. SCU 4439 Vertex Cover(二分图最小覆盖点)题解

    题意:每一条边至少有一个端点要涂颜色,问最少涂几个点 思路:最小顶点覆盖:用最少的点,让每条边都至少和其中一个点关联,显然是道裸最小顶点覆盖题: 参考:二分图 代码: #include<iost ...

  5. P4008 [NOI2003]文本编辑器

    思路 FHQ Treap的板子 用FHQ Treap维护中序遍历序列即可 然后数组开够! 代码 #include <cstdio> #include <cstring> #in ...

  6. ES6模块化操作

    在ES5中我们要进行模块化操作需要引入第三方类库,随着前后端分离,前端的业务日渐复杂,ES6为我们增加了模块化操作.模块化操作主要包括两个方面. export :负责进行模块化,也是模块的输出. im ...

  7. Keepalived笔记

    Keepalived高可用服务对之间的故障切换转移,是通过 VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)来实现的. VRRP的出现是为了解决 ...

  8. Latex: 添加IEEE论文keywords

    参考: How to use \IEEEkeywords Latex: 添加IEEE论文keywords 方法: \begin{IEEEkeywords} keyword1, keyword2. \e ...

  9. 1、Python模块和包(0602)

    模块.异常.运行环境.mysqldb 模块: 顶层文件:作为整个文件的程序入口,就是负责去调用其他文件中的代码来实现程序流程功能的,称为顶层程序文件, 模块文件1 模块文件2 python模块 1.可 ...

  10. 《机器学习实战》之k-近邻算法(手写识别系统)

    这个玩意和改进约会网站的那个差不多,它是提前把所有数字转换成了32*32像素大小的黑白图,然后转换成字符图(用0,1表示),将所有1024个像素点用一维矩阵保存下来,这样就可以通过knn计算欧几里得距 ...