1.首先来讲一下为何要web ssh?html
有人是说,有xshell,secureRT,putty等众多的ssh终端,为嘛还要弄个web的ssh,不是够二的吗?能起多大做用?html5
有个web的ssh,的确没有多大做用,的确没法代替ssh客户端,可是你想过没有,相似于xshell,secureRT,putty,在运维管理中确实有不少麻烦,不一样的用户,须要不一样的登陆名,受权等等管理,并且存在必定的风险,好比我的电脑被攻击等等安全问题?python
总结:git
对于的小型公司如只有50~100来台左右的服务器的话,在实际的使用中是没有必要去使用web-ssh解决方案的,传统的方法来链接和管理Linux服务器就可以维护好了。github
可是咱们在实际的使用过程当中,随着服务器的愈来愈多,传统的secureCRT来管理愈来愈麻烦,由于服务器增长到了几百台,(secureCRT目录和链接list会愈来愈多)当咱们须要去链接其中某些机器的时候,当须要快速web
链接和定位问题的时候,在查找和链接的时候的也要耗费必定的时间。这并非咱们想要的,因此才迫切须要机遇web-ssh解决方案。chrome
2.是否有解决方案呢?shell
其实,不少公司目前都会用堡垒机,跳板机等一系列安全措施来防止系统非法访问,很多公司都已经实现了登陆系统须要手机验证码了,不失为一种安全解决方案。vim
3.是否还有其余解决方案呢?api
那么,这里我推荐一个能够替代运维堡垒机的功能的一个软件,那就是这里的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 进程。
· 能够嵌入到其余任意应用程序中。
· 支持使用 JavaScript,Python 甚至纯 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源,能够不用安装的)
# yum localinstall tornado-2.4-1.noarch.rpm# yum localinstallgateone-1.1-1.noarch.rpm# easy_install install ordereddict
#cd /opt/gateone#./gateone.py#运行这个脚本,会生成server.conf配置文件
假如出现如下错误
是提示你没有安装 ordereddict
好了,启动服务
#cd /opt/gateone
#./gateone.py
gateone安装脚本:
http://pan.baidu.com/s/1qW4sHLM
若是你想让其后台运行,请使用serveri来启动
# /etc/init.d/gateone start
ok,服务启动成功,经过浏览器去访问
个人ip地址是192.168.0.201
因此访问地址为https://192.168.0.201,点击继续
若是出现如下提示信息,则按照如下步骤处理便可
提示此url访问被拒绝了,看web日志以下
1.修改
#vim /opt/gateone/server.conf
若是一切顺利,讲看到以下界面
哈哈,终于进入系统, ls 如下
来个 vim /etc/passwd 试试
别急,还有日志审计功能,支持日志回放哦!
一个屏是否是有些单调呢,来,开 4 个屏试试
还有更多好玩的功能,显示图片
怎么样,若是尚未看够,建议你赶快动手试试?去体验如下 web ssh 的魅力!
怎么样,是否是高端大气上档次?
7.说了这么多,不是说好的要弄什么运维堡垒机的功能吗,我怎么没有看到,别急,这正是我要说的功能。
Gateone提供了基于web的ssh功能,那么,资产系统,运维系统,其余用户权限分配系统,以及日志回放功能,须要devops本身去开发,结合gateone,保证让你玩的爽歪歪,至于怎么去开发这个堡垒机功能的系统,本身慢慢体会哦,这里就点到为止!
8.web-ssh api接口开发
先上图
博客原文取自(部分已修改):http://itnihao.blog.51cto.com/1741976/1311506