升级OpenSSH详细步骤
由于系统扫描到OpenSSH版本太低,所以需要将其升级到高版本。网上搜罗数个文章,都多多少少有点疏漏。加上自己之前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了不少劲儿。所以综合一下前辈们的文章,做一个详细的记录,让初学者能够按照步骤升级成功。
本文涉及到的、未涉及到的文件都上传至CSDN:
http://download.csdn.net/detail/w772759313/9359817
大家可自行下载。
=========================================华丽的分割线=========================================
事前工作:
先将所有安装文件包传至/usr/local/src文件夹下。
包含SSL和SSh安装包(源码)、telnet-server安装包(rpm)
事后工作:
删除无用安装包;
删除临时建立的账户;
关闭telnet服务。
一、安装配置TELNET服务
1、先安装配置telnet,在卸载ssh之后还可以远程连接服务器
rpm包安装,不赘述。
配置 vi /etc/xinetd.d/telnet
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no --这里原来是yes,改成no
}
重启telnet服务
# service xinetd stop
Stopping xinetd: [ OK ]
# service xinetd start
在此服务器上重新建立一个普通用户,客户端利用普通用户登录,再换成root用户。
2、在其他客户端上已telnet的方式登录服务器
# telnet 192.189.200.134 23
Trying 192.189.200.134...
Connected to 192.189.200.134 (192.189.200.134).
Escape character is '^]'.
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel 2.6.18-194.el5 on an x86_64
login: 用户名
Password: 密码
telnet进入服务器后,可以切换到root用户,进行程序安装工作。
二、安装OpenSSL
1、卸载原有SSL
rpm -qa | grep openssl
---------------------
openssl-0.9.8e-12.el5_4.6
openssl097a-0.9.7a-9.el5_2.1
openssl097a-0.9.7a-9.el5_2.1
openssl-devel-0.9.8e-12.el5_4.6
openssl-0.9.8e-12.el5_4.6
openssl-devel-0.9.8e-12.el5_4.6
------------------------------------
#rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
2、编译安装 OpenSSL
# cd /usr/local/src/
# tar -xzvf openssl-1.0.1j.tar.gz
# cd /usr/local/src/openssl-1.0.1j
# ./config --prefix=/usr/local/openssl -shared (shared命令必须加)
# make
# make test
# make install
make test (进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出哪里的原因,否则一味继续,可能最终导致 SSH 不能使用,后果很严重的!)
3、配置库文件搜索路径
在/etc/ld.so.conf文件的最后面,添加如下内容:
/usr/local/openssl/lib
最终成为:
include ld.so.conf.d/*.conf
/usr/local/openssl/lib
4、执行ldconfig -v 刷新缓存文件
5、添加OPESSL的环境变量,在/etc/profile的最后一行,添加:
export OPENSSL=/usr/local/openssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
6、使配置文件立即生效:
source /etc/profile
7、依次如下执行:
# cd /usr/local
# ldd /usr/local/openssl/bin/openssl
会出现类似如下信息:
linux-vdso.so.1 => (0x00007fff3bc73000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
8、查看路径
# which openssl
/usr/local/openssl/bin/openssl
9、查看版本
...]# openssl version
OpenSSL 1.0.1j 15 Oct 2014
到此,OpenSSL安装完毕
三、安装OpenSSH
1、卸载原有SSH
rpm -qa | grep openssh
----------------------
openssh-server-4.3p2-41.el5
openssh-4.3p2-41.el5
openssh-askpass-4.3p2-41.el5
openssh-clients-4.3p2-41.el5
------------------------
rpm -e `rpm -qa | grep openssh` --allmatches --nodeps
2、升级 OpenSSH
# cd /usr/local/src/
# tar -xzvf openssh-6.7p1.tar.gz
# cd /usr/local/src/openssh-6.7p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords
(注意,如果 configure 时提示 PAM 有错误,一般是因为系统中没有安装 pam-devel RPM 包,找到安装光盘,安装 pam-devel 就可以解决了,rpm -ivh pam-devel版本号。此问题亦可忽略。)
# make
# make install
3、生成ssh服务管理脚本:
进入ssh解压目录
#cd /usr/local/src/openssh-6.7p1/contrib/redhat
#cp sshd.init /etc/init.d/sshd
#chmod +x /etc/init.d/sshd (直接覆盖,权限会继承)
#chkconfig --list |grep sshd 检查ssh服务是否开机启动,如果没有,执行下面命令
#chkconfig --add sshd
4、最后,启动 SSH 服务使修改生效:
# /etc/init.d/sshd restart 或者 service sshd restart
5、重启后确认一下当前的 OpenSSH 和 OpenSSL 是否为新版:
# ssh -V
OpenSSH_6.7p1, OpenSSL 1.0.1j 15 Oct 2014
升级OpenSSH详细步骤的更多相关文章
- VS2012+Win7网站发布详细步骤
VS2012+Win7网站发布详细步骤 本机环境: 本文分三个部分介绍Web项目发布的常规方法,大神级别可以略过,主要是为了方便一些初学者. 第一部分:VS2012把项目发布到文件系统. 第二部分:I ...
- 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)
用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...
- redhat6.4升级openssh至6.7
1:简介 最近浙江电信对线上服务器进行漏洞扫描,暴露出原有的openssh有漏洞,建议升级openssh版本: 2:操作环境 Red Hat Enterprise Linux Server relea ...
- CentOS6-Linux内核编译 详细步骤
CentOS6-Linux内核编译 详细步骤 背景 Win10用VMwareWorkstation搭的虚拟机 CentOS6.5,内核版本2.6.32-431.el6.x86_64 在该环境下升级至4 ...
- centos6升级openssh至7.9
1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /root/ssh_updateyum install -y telnet-serveryum install -y xinetd ...
- CentOS6、7升级Openssh至7.9
出于安全考虑,定期使用Nessus对服务器进行扫描,最新Nessus提示服务器的SSH版本有漏洞,所以把SSH升级到最新版本 1.为了防止升级失败登陆不了,所以需要安装telnet mkdir /ro ...
- centos7安装Docker详细步骤(无坑版教程)
一.安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可. 注意:本文的命令使用的是 root 用户登录执行,不 ...
- unity导出工程导入到iOS原生工程中详细步骤
一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
随机推荐
- Android开发者指南-方位传感器-Position Sensor
Android开发者指南-方位传感器-Position Sensor 转载自:http://blog.sina.com.cn/s/blog_48d4913001010zsu.html Position ...
- Phonegap之内存问题
使用phonegap的拍照功能时,安卓机会出现崩溃现象,这一问题的原因也许是你的手机内存不足,实际上却不是phonegap的问题,它也是原生android apps的一个普遍问题. 产生这一问题是因为 ...
- Content-Language:en-US
工作的时候遇到需要把 Content-Language:en-US 改为 zh-CN 今天发现我们网站的页面Response Headers部分的语言显示为英语,Content-Language:en ...
- Java基础类型自动装箱(autoboxing)
Java SE 1.5 版本及之后,开始提供自动装箱功能. 自动装箱,将基础类型“包装”成一种类型: 基本类型 --> 包装器类 如下过程可触发自动装箱过程: Integer count = ...
- redis入门教程
21) Redis 简介Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库.2) 数据类型2.1. Redis 的 KeyRedi ...
- 如何使用 Cloud Insight SDK 实现 Druid 监控?
Druid 简介与用途 首先说明,这里所说的 Druid 并不是阿里巴巴的数据库连接池项目,而是 Eric Tschetter 创立的一个开源的分布式实时处理系统,希望为烧钱的大数据处理,提供一种更廉 ...
- QString的不常见用法
QString str("Hello"); QString str = "Hello"; static const QChar data[4] = { 0x00 ...
- [cocos2d demo]认字小游戏
2013.9.5更新第二版 游戏分三个场景,分别为主场景,加载场景以及游戏场景,游戏场景分为背景层,逻辑层以及UI层 1.背景:旋转太阳,移动波浪,漂浮的云 2.UI层:随机生成字附带在帆船上移动,当 ...
- find big file
#!/bin/bash #command usage description function usage() { echo -e "Usage:nt$0 DIR_NAME" ex ...
- 【HDOJ】2133 What day is it
需要注意数据有效性. #include <stdio.h> #define isLeapYear(y) (y%4==0&&y%100!=0)||(y%400==0) ][] ...