RedHat Linux 下升级SSH服务

来源:互联网 发布:js面相对象编程 编辑:程序博客网 时间:2024/05/16 17:16

目前,很多 Linux 发行版本中集成的 SSH 软件版本都比较老,存在一些漏洞和安全隐患,因而升级 SSH 服务成为 Linux 系统安全中非常重要的一个环节。下面就根据近期的一次实例来讲述如何升级SSH 服务。

SSH 有许多标准,通常 Linux 中(Redhat, CentOS, SuSE 等)使用的是开源的OpenSSH,所以我这里也是对OpenSHH 进行升级。在升级 OpenSSH 之前,需要升级系统中的 OpenSSL (OpenSSL 可以为 OpenSSH 提供加密传输支持,是 OpenSSH 的一个中间件)版本和 Zlib (提供压缩传输支持)版本,以达到更好的安全性。

在开始升级前一定要确认系统中安装了GCC 编译器!rpm -qa |grep gcc ,如果没有显示gcc的包,就yum -y install gcc ,注意: redhat6的yum源在redhat5系统里是不能用的,不过可以用redhat6的repodata生成redhat5的repodata.xml 文件。

一、升级 Zlib
1、下载最新版本 Zlib
Zlib 官方网站:http://www.zlib.net/
目前最新版本的 Zlib 是 zlib-1.2.8.tar.gz

# cd /usr/local/src# wget -c http://www.zlib.net/zlib-1.2.8.tar.gz

2、编译安装 Zlib

# tar xzvf zlib-1.2.8.tar.gz# cd zlib-1.2.8# ./configure --prefix=/usr/local/zlib# make# make install

这样,就把 zlib 编译安装在 /usr/local/zlib 中了。

二、升级 OpenSSL
1、下载最新版本 OpenSSL
OpenSSL 的官方网站:http://www.openssl.org
目前最新版的 OpenSSL 是 openssl-1.0.1e

# cd /usr/local/src# wget -c http://www.openssl.org/source/openssl-1.0.1e.tar.gz

2、编译安装 OpenSSL

# tar xzvf openssl-1.0.1e.tar.gz# cd openssl-1.0.1e# ./config --prefix=/usr/local/openssl# make# make test # make install

make test (这一步很重要哦!是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出哪里的原因,否则一味继续,可能最终导致 SSH 不能使用,后果很严重的!)

三、升级 OpenSSH
1、下载最新版本 OpenSSH
OpenSSH 的官方网站:http://www.openssh.com
目前最新版的 OpenSSH 是 openssh-6.3p1

# cd /usr/local/src# wget -c ftp://ftp.openbsd.com/pub/OpenBSD/OpenSSH/portable/openssh-6.3p1.tar.gz

2、编译安装 OpenSSH

# tar xzvf openssh-6.3p1.tar.gz# cd openssh-6.3p1# ./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 的工作,在升级完成后,我们还需要修改一下 OpenSSH 的配置文件来进一步提升安全性。通过以上步骤完成的升级工作,OpenSSH 的配置文件在 /etc/ssh 下,其中 SSH Server 的配置文件是 sshd_config。

# vi /etc/ssh/sshd_config

找到:
#Protocol 2,1修改为:
Protocol 2这样就禁用了 ssh v1 协议,只使用更安全的 ssh v2 协议。
找到:
X11Forwarding yes 修改为:
X11Forwarding no  (禁用 X11 转发。)
修改后保存退出。
生成ssh服务管理脚本:
  进入ssh解压目录

#cd /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

其实在我编译安装完成ssh后,执行ssh -V 命令,显示已是新版本了。

附: 安装编译器:yum -y install gccyum -y install gcc-c++

安装PAM:yum install pam-devel

0 0
原创粉丝点击