开源web终端ssh解决方案——gateone

原创
2014/12/31 16:51
阅读数 1.2W

1.首先来说一下为什么要web ssh?

有人是说,有xshell,secureRT,putty等众多的ssh终端,为嘛还要弄个web的ssh,不是够二的吗?能起多大作用?

有个web的ssh,的确没有多大作用,的确无法代替ssh客户端,但是你想过没有,类似于xshell,secureRT,putty,在运维管理中确实有很多麻烦,不同的用户,需要不同的登录名,授权等等管理,而且存在一定的风险,比如个人电脑被攻击等等安全问题?


总结:

对于的小型公司如只有50~100来台左右的服务器的话,在实际的使用中是没有必要去使用web-ssh解决方案的,传统的方法来连接和管理Linux服务器就能够维护好了。

但是我们在实际的使用过程中,随着服务器的越来越多,传统的secureCRT来管理越来越麻烦,因为服务器增加到了几百台,(secureCRT目录和连接list会越来越多)当我们需要去连接其中某些机器的时候,当需要快速

连接和定位问题的时候,在查找和连接的时候的也要耗费一定的时间。这并不是我们想要的,所以才迫切需要机遇web-ssh解决方案。


2.是否有解决方案呢?

其实,很多公司目前都会用堡垒机,跳板机等一系列安全措施来防止系统非法访问,不少公司都已经实现了登录系统需要手机验证码了,不失为一种安全解决方案。


3.是否还有其他解决方案呢?

那么,这里我推荐一个可以替代运维堡垒机的功能的一个软件,那就是这里的gateone。

在说运维堡垒机之前,先来了解下什么是运维堡垒机?

运维堡垒机的理念起源于跳板机,那么跳板机的弱势在哪里?

理念一:唯有控制才能真正解决问题

理念二:系统账号无法确认用户身份

理念三:人为操作难免会出问题

于是,产生了后来的运维堡垒机,运维堡垒机具有对运维人员的身份认证、对运维操作的访问控制和审计等功能(来自看百度百科的解释http://baike.baidu.com/view/4274690.htm,目前有不少厂家可以提供运维堡垒机产品,但是,作为devops或是运维人员,喜欢自己动手去实现功能!


4.推荐方案

可以看到,运维堡垒机好处很多,有效的控制了运维风险,而今天给大家介绍的gateone,就是一套自己的开源堡垒机解决方案。


5.Gateone的简介

个人认为gateone是一个高端大气上档次的web ssh,同类产品中,要么是体验不好,要么就是界面看着不顺眼,要么还带着细微的bug,直到遇到了gateone,才觉得web ssh原来可以这么好用。

不妨看看都有哪些web的ssh终端

https://github.com/aluzzardi/wssh

https://code.google.com/p/shellinabox

http://code.google.com/p/web-shell

https://github.com/antonylesuisse/qweb

大家可以一一尝试的。


GateOne 是一款使用 HTML5 技术编写的网页版 SSH 终端模拟器

· 基于现代的 HTML5 技术,无需任何浏览器插件

· 支持多个 SSH 进程

· 可以嵌入到其他任意应用程序中。

· 支持使用 JavaScriptPython 甚至纯 CSS 编写的插件

· 支持 SSH 进程副本,打开多个进程而无需重复输入密码。

· 支持各种服务器端的日志功能,支持 Keberos-based 单点登录甚至活动目录。

· 支持操作日志记录,具有操作记录回放功能


项目地址 https://github.com/liftoff/GateOne

文档地址 http://liftoff.github.io/GateOne/About/

开发语言 python

框架   tornado+html5

当前版本 1.1

安装简单,使用方便,更多功能请参看官方文档。

6. 安装 gateone


我的系统版本是CentOS release 6.4 64bit


浏览器版本是chrome 30,看官方文档,gateone在ie浏览器不受支持(鄙视ie,虽然我的电脑上有ie浏览器,但是一直都让其躺着睡打觉的),支持的浏览器有chrome,firefox,所以若是你用ie不能显示……





#wget https://github.com/downloads/liftoff/GateOne/tornado-2.4-1.noarch.rpm


#wget https://github.com/downloads/liftoff/GateOne/gateone-1.1-1.noarch.rpm


# rpm -ivh http://mirrors.sohu.com/fedora-epel/6Server/x86_64/epel-release-6-8.noarch.rpm(epel源,可以不用安装的)


234139372.png

234139303.png

# yum localinstall tornado-2.4-1.noarch.rpm# yum localinstallgateone-1.1-1.noarch.rpm# easy_install install ordereddict


234139984.png

#cd  /opt/gateone#./gateone.py#运行这个脚本,会生成server.conf配置文件


假如出现以下错误


235039294.png

是提示你没有安装 ordereddict


好了,启动服务


#cd /opt/gateone


#./gateone.py




gateone安装脚本:

   http://pan.baidu.com/s/1qW4sHLM




如果你想让其后台运行,请使用serveri来启动


# /etc/init.d/gateone start


235350478.png

ok,服务启动成功,通过浏览器去访问


我的ip地址是192.168.0.201


所以访问地址为https://192.168.0.201,点击继续


234140716.png

如果出现以下提示信息,则按照以下步骤处理即可


235601194.png

提示此url访问被拒绝了,看web日志如下


234140995.png

1.修改


#vim /opt/gateone/server.conf


235741407.png

235744111.png

如果一切顺利,讲看到如下界面


234140308.png

234142290.png

哈哈,终于进入系统, ls 以下


234142126.png

来个 vim /etc/passwd 试试


234145288.png

别急,还有日志审计功能,支持日志回放哦!


000013885.png

一个屏是不是有些单调呢,来,开 4 个屏试试


234146299.png

还有更多好玩的功能,显示图片


000345634.png

000351593.png

000404963.png

000410466.png

怎么样,如果还没有看够,建议你赶快动手试试?去体验以下 web ssh 的魅力!


怎么样,是不是高端大气上档次?




7.说了这么多,不是说好的要弄什么运维堡垒机的功能吗,我怎么没有看到,别急,这正是我要说的功能。

Gateone提供了基于web的ssh功能,那么,资产系统,运维系统,其他用户权限分配系统,以及日志回放功能,需要devops自己去开发,结合gateone,保证让你玩的爽歪歪,至于怎么去开发这个堡垒机功能的系统,自己慢慢体会哦,这里就点到为止!

8.web-ssh api接口开发

先上图


博客原文取自(部分已修改):http://itnihao.blog.51cto.com/1741976/1311506


展开阅读全文
加载中
点击加入讨论🔥(2) 发布并加入讨论🔥
打赏
2 评论
65 收藏
3
分享
返回顶部
顶部