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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

前言:

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

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

好了,开始正文!

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

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


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


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

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

【防盗链,本文出自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源,可以不用安装的)

234139372.png

234139303.png

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

234139984.png

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

假如出现以下错误

235039294.png

是提示你没有安装ordereddict

好了,启动服务

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

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

1
# /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.修改server.conf

1
#vim /opt/gateone/server.conf

235741407.png

2,好了,启动服务

235744111.png

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

234140308.png

234142290.png

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

234142126.png

来个vim /etc/passwd试试

234145288.png

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

000013885.png

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

234146299.png


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

000345634.png

000351593.png

000404963.png

000410466.png

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

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

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

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



本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1311506,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
101 3
|
6天前
|
人工智能 前端开发 计算机视觉
Inpaint-Web:纯浏览器端实现的开源图像处理工具
在刷短视频时,常看到情侣在景区拍照被路人“抢镜”,男朋友用手机将路人“P”掉,既贴心又有趣。最近我发现了一个纯前端实现的开源项目——inpaint-web,可在浏览器端删除照片中的部分内容,非常酷。该项目基于 WebGPU 和 WASM 技术,支持图像修复与放大,已在 GitHub 上获得 5.1k Star。项目地址:[GitHub](https://github.com/lxfater/inpaint-web)。
45 3
 Inpaint-Web:纯浏览器端实现的开源图像处理工具
|
4月前
|
SQL 存储 安全
PHP 与现代 Web 应用的安全挑战与解决方案
随着 Web 应用的发展,PHP 作为一种广泛使用的服务器端脚本语言,面临着越来越复杂的安全挑战。本文探讨了当前 PHP 开发中常见的安全问题,并提供了相应的解决方案,帮助开发者构建更安全可靠的 Web 应用。 【7月更文挑战第8天】
71 1
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Jetson 学习笔记(十三):SSH远程登录控制(终端控制和图形界面)-成功通过
这篇文章介绍了如何通过SSH命令行和VNC图形界面远程登录和控制NVIDIA Jetson Nano设备。
217 0
Jetson 学习笔记(十三):SSH远程登录控制(终端控制和图形界面)-成功通过
|
1月前
|
移动开发 前端开发 小程序
浅谈-web屏幕适配的解决方案
浅谈-web屏幕适配的解决方案
36 0
浅谈-web屏幕适配的解决方案
|
1月前
|
JavaScript 前端开发 安全
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
41 0
|
2月前
|
前端开发 Python
前后端分离的进化:Python Web项目中的WebSocket实时通信解决方案
在现代Web开发领域,前后端分离已成为一种主流架构模式,它促进了开发效率、提升了应用的可维护性和可扩展性。随着实时数据交互需求的日益增长,WebSocket作为一种在单个长连接上进行全双工通讯的协议,成为了实现前后端实时通信的理想选择。在Python Web项目中,结合Flask框架与Flask-SocketIO库,我们可以轻松实现WebSocket的实时通信功能。
57 2
|
1月前
|
Java 应用服务中间件 Spring
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
26 0
|
2月前
|
JavaScript 前端开发
【前端web入门第一天】03 综合案例 个人简介与vue简介
该网页采用“从上到下,先整体再局部”的制作思路,逐步分析并编写代码实现个人简介页面。内容涵盖尤雨溪的背景、学习经历及主要成就,同时介绍其开发的Vue.js框架特点。代码结构清晰,注重细节处理,如使用快捷键提高效率,预留超链接位置等,确保最终效果符合预期。
|
3月前
|
运维 安全 网络安全
"革新远程访问体验:Docker化部署webssh2,一键启动Web SSH客户端,让远程管理如虎添翼!"
【8月更文挑战第2天】Docker作为软件开发与运维的关键工具,以其轻量级、可移植及强隔离特性简化了应用部署。结合webssh2这一开源Web SSH客户端,可通过浏览器安全便捷地访问SSH服务器,无需额外软件。首先确保已安装Docker,接着拉取webssh2镜像并运行容器,映射端口以便外部访问。配置好SSH服务器后,通过浏览器访问指定URL即可开始SSH会话。此方案不仅提升了用户体验,还加强了访问控制与系统安全。
332 7