前言:

好久都没来写博客,最近忙啥去了呢?

一是忙于saltstack的二次开发,二是云计算的学习研究中,所以就一直没写东西,今天给大家介绍个工具。

好了,开始正文!

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

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

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

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 进程。

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

· 支持使用 JavaScript,Python 甚至纯 CSS 编写的插件。

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

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

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

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

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

开发语言 python

框架   tornado+html5

当前版本 1.1

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

【防盗链,本文出自http://itnihao.blog.51cto.com/1741976/1311506

6.安装gateone

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

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

安装gateone,可以rpm包安装,也可以源码包安装,但是本文推荐rpm包安装,源码安装就不说了,请参看官方文档

1
2
3
#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
#wget ftp://ftp.univie.ac.at/systems/linux/fedora/epel/beta/6/i386/python-ordereddict-1.1-2.el6.noarch.rpm

ftp://ftp.univie.ac.at/systems/linux/fedora/epel/6/x86_64/python-ordereddict-1.1-2.el6.noarch.rpm

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

1
2
3
4
5
#yum localinstall tornado-2.4-1.noarch.rpm
#yum localinstallgateone-1.1-1.noarch.rpm
#rpm -ivh python-ordereddict-1.1-2.el6.noarch.rpm
#当然也可以用源码包安装ordereddict,命令如下
# easy_install install ordereddict

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

假如出现以下错误

是提示你没有安装ordereddict

好了,启动服务

#cd /opt/gateone
#./gateone.py

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

1
# /etc/init.d/gateone start

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

我的ip地址是192.168.0.201

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

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

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

解决办法:

1.修改server.conf

1
#vim /opt/gateone/server.conf

2,好了,启动服务

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

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

来个vim /etc/passwd试试

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

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

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

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

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

【防盗链,本文出自http://itnihao.blog.51cto.com/1741976/1311506

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

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

学习贵在举一反三,欢迎有新想法的童鞋一起交流哦!

另外,本人以前搞过一个opsadmin项目,各位有兴趣的可以看看,同时也欢迎大家共同参与https://github.com/itnihao/opsadmin

预览地址http://www.itnihao.com/opsadmin/opsadmin-view.html

gateone安装(web版本ssh)的更多相关文章

  1. Web终端SSH功能

    http://www.laozuo.org/10703.html------ CentOS安装配置GateOne实现Web终端SSH功能

  2. 开源web终端ssh解决方案-gateone简介

    好久都没来写博客,最近忙啥去了呢? 一是忙于saltstack的二次开发,二是云计算的学习研究中,所以就一直没写东西,今天给大家介绍个工具. 1. 首先来说一下为什么要 web ssh? 许多人不是说 ...

  3. visual studio 2017 installer 安装包制作过程出现的问题---此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序,可以从Web获得.NET Framework 。要立即做此事吗?

    图一 visual studio 2017 installer 打包完成以后进行安装时,提示信息 “安装此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序, ...

  4. 20190726_安装CentOS7minimal版本后需要做的优化和配置

    20190726_安装CentOS7minimal版本后需要做的优化和配置 CentOS系统镜像下载地址:https://www.centos.org/ CentOS的Minimal(最小化安装版本) ...

  5. Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序

    自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH  网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...

  6. 词频统计-------------web版本

    要求:把程序迁移到web平台,通过用户上传TXT的方式接收文件.建议(但不强制要求)保留并维护Console版本,有利于测试. 在页面上设置上传的控件,然后在servlet中接受,得到的是一个字节流, ...

  7. (转)使用 Advanced Installer 打包 一键安装Web应用程序

      使用 Advanced Installer 打包 一键安装Web应用程序         安装预览: 资源下载: 示例安装包 操作流程: 1.新建Asp.net Application. 2.设置 ...

  8. 在linux CentOS6上安装web环境

    感谢浏览,欢迎交流=.= 都说linux作为服务器优于window,近期也是学习了下linux. win7下安装了linux虚拟机,购买linux阿里云主机,开启linux之旅. 进入正题,在linu ...

  9. 使用 Advanced Installer 打包 一键安装Web应用程序

    原文:使用 Advanced Installer 打包 一键安装Web应用程序 安装预览: 资源下载: 示例安装包 操作流程: 1.新建Asp.net Application. 2.设置应用程序名称和 ...

随机推荐

  1. Innobackupex 全备数据库

    对于MySQL数据库的热备.xtrabackup是除了MySQL enterprise backup之外的不二之选. 该工具提供了基于innodb存储引擎的热备.支持全量,增量备份,部分备份,时点恢复 ...

  2. C#关于params的用法(使用数量可变的参数)

    有些方法需要传递个数不定的值进行运算.比如求最小值的方法.除了用容器外,还可以使用params来做 例子如下: using System; using System.Collections.Gener ...

  3. Android app去应用市场评分功能

    因为android市场很多,去各个应用市场评分的功能却不是很难实现. private void gotoRate(){ Uri uri = Uri.parse("market://detai ...

  4. visual studio无法输入密匙解决方法

    控制面板->程序和功能->修复/卸载(更改),当到输入密匙界面运行程序,即可出现密匙输入框. 所用程序网上搜索:CrackVS2008ForWindows7

  5. Asp.net SignalR 初试和应用笔记一 认识和使用 SignalR

    如果你在用QQ,微信.你会知道,广告和消息无处不在.也有好的一面,比如通过QQ或微信,微博等及时聊天功能,你找到了你的初恋,你找到了小学的班级等等. 这里的及时通信在很多应用场所能用到,比如: 1.球 ...

  6. BottomSheetBehavior 之 java.lang.IllegalArgumentException: The view is not associated with BottomSheetBehavior

    AndroidRuntime: FATAL EXCEPTION: main Process: me.chunsheng.uberdriver, PID: 13674 java.lang.Runtime ...

  7. 【应用】Markdown 在线阅读器

    前言 一款在线的 Markdown 阅读器,主要用来展示 Markdown 内容.支持 HTML 导出,同时可以方便的添加扩展功能.在这个阅读器的基础又做了一款在线 Github Pages 页面生成 ...

  8. mysql 1054错误

    往数据库插入数据的时候报错,插入数据的是这样的 [SQL] insert into stock(code,name,b_price,s_price,num,rate,profit) values (1 ...

  9. YouComplete:vim自动补全插件

    在github上下载插件,按照README.md安装 1,ubuntu安装 vim插件管理:vundle插件安装同样按照 README.md 操作 2,user guide General Usage ...

  10. express源码分析---merge-descriptors

    在express.js里  我们看到这样的代码: 顾名思义,我们知道是将proto,EventEmitter.prototype 上的属性复制一份给app上. 那它具体实现的原理是怎么样的? 'use ...