RedHat Linux 下升级SSH服务 zlib openssl openssh

 

转载自 http://www.devnote.cn/article/75.html

 

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

 

 

测试于:Red Hat Enterprise 5.6

目前,很多 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/zilib 中了。

二、升级 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 http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/

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 命令,显示已是新版本了。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值