ssh更新


目前,很多 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.2c

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

2、编译安装 OpenSSL
# tar xzvf openssl-1.0.2c.tar.gz

# cd openssl-1.0.2c

# ./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.8p1

# cd /usr/local/src
# wget -c http://openbsd.org.ar/pub/OpenBSD/OpenSSH/portable/

2、编译安装 OpenSSH
# tar xzvf openssh-6.8p1.tar.gz

# cd openssh-6.8p1

# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl --with-md5-passwords

如果configure提示未安装openssl-devel和pam

需要执行以下命令:

 rpm -ivh   zlib-devel-1.2.3-29.el6.x86_64.rpm
 rpm -ivh libsepol-devel-2.0.41-4.el6.x86_64.rpm
 rpm -ivh libselinux-devel-2.0.94-5.3.el6.x86_64.rpm
 rpm -ivh libcom_err-devel-1.41.12-14.el6.x86_64.rpm
 rpm -ivh keyutils-libs-devel-1.4-4.el6.x86_64.rpm
 rpm -ivh krb5-devel-1.10.3-10.el6.x86_64.rpm

 rpm -ivh  openssl-devel-1.0.0-27.el6.x86_64.rpm


# 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 /usr/local/src/openssh-6.8p1/contrib/redhat/
#cp sshd.init /etc/init.d/sshd
#chmod +x /etc/init.d/sshd (直接覆盖,权限会继承)
#chkconfig --list |grep sshd  检查ssh服务是否开机启动,如果没有,执行下面命令
#chkconfig --add sshd

退出机器后,使用root用户无法ssh登陆,我用普通用户ssh登录后,

1、修改SSHD服务的配置文件/etc/ssh/sshd_config

   将#PermitRootLogin no 改为PermitRootLogin yes

2、重启sshd服务使配置生效

   /etc/rc.d/init.d/sshd restart


   最后,启动 SSH 服务使修改生效:
# /etc/init.d/sshd restart 或者 service sshd restart

重启后确认一下当前的 OpenSSH 和 OpenSSL 是否为新版:
# ssh -V

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

 

 

转载于:https://my.oschina.net/u/1866459/blog/468500

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值