升级OpenSSH详细步骤

因为系统扫描到OpenSSH版本过低,因此须要将其升级到高版本。网上搜罗数个文章,都多多少少有点疏漏。加上本身以前没升级过SSH,参考好几个文章查缺补漏才升级成功,着实废了很多劲儿。因此综合一下前辈们的文章,作一个详细的记录,让初学者可以按照步骤升级成功。node

本文涉及到的、未涉及到的文件都上传至CSDN:linux

http://download.csdn.net/detail/w772759313/9359817缓存

你们可自行下载。服务器

=========================================华丽的分割线=========================================session

事前工做:ssh

先将全部安装文件包传至/usr/local/src文件夹下。socket

包含SSL和SSh安装包(源码)、telnet-server安装包(rpm)测试

过后工做:加密

删除无用安装包;.net

删除临时创建的帐户;

关闭telnet服务。

1、安装配置TELNET服务

一、先安装配置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用户。

二、在其余客户端上已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用户,进行程序安装工做。

2、安装OpenSSL

一、卸载原有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

二、编译安装 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 不能使用,后果很严重的!)

三、配置库文件搜索路径

在/etc/ld.so.conf文件的最后面,添加以下内容:

/usr/local/openssl/lib

最终成为:

include ld.so.conf.d/*.conf

/usr/local/openssl/lib

四、执行ldconfig -v 刷新缓存文件

五、添加OPESSL的环境变量,在/etc/profile的最后一行,添加:

export OPENSSL=/usr/local/openssl/bin

export PATH=$OPENSSL:$PATH:$HOME/bin

六、使配置文件当即生效:

source /etc/profile

七、依次以下执行:

# 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)

八、查看路径

# which openssl

/usr/local/openssl/bin/openssl

九、查看版本

...]# openssl version

OpenSSL 1.0.1j 15 Oct 2014

到此,OpenSSL安装完毕

3、安装OpenSSH

一、卸载原有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

二、升级 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

三、生成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

四、最后,启动 SSH 服务使修改生效:

# /etc/init.d/sshd restart 或者 service sshd restart

五、重启后确认一下当前的 OpenSSH 和 OpenSSL 是否为新版:

# ssh -V

OpenSSH_6.7p1, OpenSSL 1.0.1j 15 Oct 2014

相关文章
相关标签/搜索