Centos6.5 升级Openssl + Openssh
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的更多相关文章
- 实战redhat6.5离线升级openssl&openssh
记录一次RedHat6.5升级openssl&openssh踩坑填坑.由于机房信息安全员用绿盟扫描出服务器openssh有8个重要的安全漏洞,最好的解决方式就是升级版本. 注意事项: 先升级o ...
- CentOS6.6升级openssl到1.0.2a
如果安装的CentOS不是完整版,需要安装下面几个安装包 安装wget: yum -y install wget 安装Perl: yum install perl* 安装gcc: yum instal ...
- CentOS6.5的openssl升级
CentOS6.5的openssl升级:(修复心脏漏血漏洞) [root@linux1 ~]# rpm -qi openssl|grep VersionVersion : 1.0.1e Vendor: ...
- CentOS7源码升级OpenSSL和OpenSSH
一.CentOS7升级OpenSSL 1.查看ssl版本及下载相关依赖包 openssl version -a yum install -y gcc openssl-devel pam-devel r ...
- Centos6.5升级openssh至7.4版本
一,备份配置文件,以备升级失败进行回退 二,下载安装包 wget http://www.zlib.net/zlib-1.2.11.tar.gz wget https://openbsd.mirror. ...
- centos7升级openssl、openssh常见问题及解决方法
升级至openssl 1.1.1版本 升级至openssh 8.0版本 openssl version -a 当前查看版本 一.安装telnet (以防升级失败,连不上服务器,建议弄) #查看是否 ...
- centos6/7 下升级openssl并安装python3
今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...
- 升级openssl和openssh版本
一.安装telnet-server服务(建议安装) 1. 查看系统是否已安装telnet-server,linux系统上默认已经安装telnet-client(或telnet),而telnet-ser ...
- Centos6.5升级安装openssh7.7p1
Centos6.5升级安装openssh7.7p1 关于OpenSSH漏洞 2016年1月14日OpenSSH发布官方公告称, OpenSSH Client 5.4~7.1 版本中未公开说明的功 ...
随机推荐
- bzoj 1419 Red is good - 动态规划 - 概率与期望
Description 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. Input 一 ...
- 复制文件到U盘错误0x80071AC3,请运行chkdsk并重试
转载:https://www.xitmi.com/1157.html 在日常的工作学习中,我们经常会用到U盘拷贝文件.有时候当我们复制文件到U盘时,总会碰到各种问题,那如果我们碰到错误0x80071A ...
- python --- 04 列表 元组
一 .列表 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 1.列表存在索引和切片. 和字符串是一样的. 2.增删改查操作 1).增加 1. .append(" ...
- ODAC(V9.5.15) 学习笔记(二)控件列表
ODAC的控件有26个,简单介绍如下: TOraSession 管理Oracle的连接 TOraQuery 使用SQL进行数据获取,自动将更新提交数据库 TSmartQuery 在处理字 ...
- Pytest 简明教程
pytest-learn 通过文章 Python 单元测试框架之 Pytest 剖解入门(第一篇) 学习 Pytest. 有很多的第三方插件可以自定义扩展,并且支持 Allure,生成可视化的测试报告 ...
- Vue.extend提供自定义组件的构造器
Vue.extend 返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue实例构造器.经常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元 ...
- [thymeleaf] - 1.Thymeleaf是什么
Thymeleaf是⾯向Web和独⽴环境的现代服务器端Java模板引擎,能够处 理HTML,XML,JavaScript,CSS甚⾄纯⽂本. Thymeleaf旨在提供⼀个优雅的.⾼度可维护的创建模板 ...
- Java中常用的方法
枚举: 1:DemoEnum.valueOf(String str) 从枚举类中中找字符串,如果有则返回对应枚举值 2:DemoEnum.values() 获得枚举集合 3:DemoEnum.prop ...
- 转入Python3.5
Future 我决定从python2.7转到python3.5,毕竟python3才是未来,业余程序员也是有追求的 嵌入发布 版本3.5中的新特性.可以将python嵌入用户程序,变成程序的一部分,随 ...
- Java volatile 有什么作用
在由Java语言编写的程序中.有时候为了提高程序的执行效率,编译器会自己主动对其进行优化,把经常被訪问的变量缓存起来,程序在读取这个变量的时候有可能会直接从缓存(比如寄存器)中来读取这个值.而不会去内 ...