上一篇文章分享了一款简洁且强大的开源堡垒机OneTerm,功能完善,代码简单,GO语言开发,用来学习很合适,拿来自用也没问题。堡垒机该有的核心功能基本都有了,方便与自有系统集成,我使用了两周,功能上没有什么大问题,但仍然发现了一些有待提升的地方,这篇文章从我个人使用的角度来写下我自己觉得有哪些是可以优化的,仅一家之言,官方觉得有道理可以采纳,也算回馈社区,觉得说错了也不必较真哈,毕竟我个人认知有限

Web终端

我们平常使用堡垒机最多的功能应该就是登陆系统控制台,OneTerm支持Linux终端使用,也能通过配置在客户端上使用,不过这些都比较麻烦,我们平常用的最多的还是Web控制台,那Web控制台的使用体验就十分重要了,OneTerm的Web终端连接在工作台页面

这个页面上点内容比较多,有我的资产、最近回话和个人信息,我个人觉得Web连接是个十分重要点功能,连接资产点页面应该简洁,只包含我的资产这块的内容即可,左侧目录树,右侧主机,点击连接直接打开web终端,还有就是突出最重要的「连接」按钮,而弱化是否可连接的状态显示,这里总感觉那个绿色的「连接」状态是可以点击的

堡垒机可以支持多个不同的账号登陆连接,这个比我之前设计的好多了,我之前写的堡垒机没考虑过多账号登陆的问题,支持多账号登陆显然更好,不过当一个主机只配置了一个登陆账号时就没必要弹出账号选择框了,直接连接即可,只在主机配置多个登陆账号时弹框让用户选择登陆账号,简化使用逻辑

OneTerm的Web终端是新开一个浏览器标签显示的,最大化了内容区域,不过似乎有些小bug,例如不会随着浏览器窗口的改变自动调整终端的展示大小,就是自动resize操作,我之前自己写WebSSH的时候处理过终端窗口自适应Resize的问题,应该是类似的,终端窗口除了这个bug外,还有一些可以优化的地方,例如新的Tab页面Title最好改成主机的IP或名称,这样让我明确的知道打开的这个窗口是哪个主机的,不然一次连接的主机多了很容易出错

其实更好的处理方式我觉得是一个页面多标签的形式,而非开多个页面,多页面间频繁切换还是非常麻烦的。这个页面可以参考Xshell或是MobaXterm之类成熟的SSH客户端,左侧目录树,显示所有目录及主机信息,右侧多标签显示操作窗口,使用体验比较好,并且也符合大众的操作习惯

数据互通

OneTerm支持与自家的CMDB联动,可以同步CMDB的数据到堡垒机,这个非常棒,打破不同系统间的数据壁垒,做到数据统一,基础数据只有一份保证CMDB数据权威。这跟我之前的理念一致,CMDB要想数据准确,靠制度和规范是不行的,必须要通过技术的手段来保证。上层应用强依赖是个很好的方式,CMDB作为唯一数据来源,如果数据不准确,直接影响到上层应用的正常服务,所以要想上层应用正常,会倒逼CMDB数据准确

不过Oneterm的问题在于,目前只能同步了主机资源,而没有目录,一个项目多个不同环境和版本,创建十几个甚至几十个目录树都很正常,如果不能按目录树来同步的话,那要想堡垒机的目录树跟CMDB的目录树保持一致,就要创建十几个甚至几十个目录和同步规则,确实麻烦,如果能选择目录树同步,那将大大降低使用成本,同时也能保证CMDB目录树与OneTerm完全一致,个人觉得更加符合使用习惯

页面统一

用过一些国外的产品,像CDN领域最为知名的两家厂商CloudFlare和Akamai,发现他们的产品几乎每个页面都不一样,而我们国内的产品做到了页面及操作的统一,这个并不是说哪个好哪个不好,或许是文化差异导致习惯不同而已,不过我个人更喜欢国内这种统一的,页面统一,操作统一,虽然可能看上去没什么花样和新意,但却降低来使用成本,看到一个页面大概就知道什么信息在哪里,该如何操作,而不用学习每个页面的使用

OneTerm在某些地方没有统一,例如添加资产时的授权账号是从账号列表里选择的,而创建网关时的账号是单独的,要输入账号密码信息,是否也可以从账号列表里选择,这样维护上比较统一,账号只保存在一个地方

例如资产管理下网关列表、账号列表、安全设置右上角都有个「创建」按钮,但资产列表右上角没有,要点击目录树节点才显示,这里可以理解点了目录树节点显示「创建」按钮之后默认填充节点至表单,不过似乎也不影响在未选中任何节点时「创建」资产

当然这些都不是啥大问题,仅仅是不够统一而已

后记

  1. 这些仅仅是与我个人使用习惯不完全相符而已,也并不一定都是问题,或许我觉得是bug,只是使用姿势不对的feature而已

  2. 我们总是很容易发现别人的问题,却很难发现自己的问题。发现问题相对容易,但真的要改正问题就很难,不一定难在改正的方法,更多的时候可能是我们直面问题的勇气

  3. 没有设计完美的产品,所有的好产品都是在使用中不断打磨出来的,一款产品如果真的重视用户使用体验,愿意持续不断的去优化,那距离它成为真的好用的产品差的只是时间而已

用了两周开源堡垒机OneTerm,我有一些建议的更多相关文章

  1. 分享一款开源堡垒机-jumpserver

    本文主文章地址为:https://blog.csdn.net/KH_FC JumpServer是由FIT2CLOUD(飞致远)公司旗下一款开源的堡垒机,这款也是全球首款开源的堡垒机,使用 GNU GP ...

  2. 开源堡垒机jumpserver

    开源堡垒机jumpserver 开源堡垒机jumpserver的安装 开源堡垒机jumpserver的配置和使用

  3. jumpserver开源堡垒机部署安装

    0x01.前言 Jumpserver 是全球首款完全开源的堡垒机,使用 GNU GPL v2.0 开源协议,是符合 4A 的专业运维审计系统. Jumpserver 使用 Python / Djang ...

  4. centos 6.5 搭建开源堡垒机 Teleport 遇到的问题解决

    几款开源的堡垒机 下面进行 teleport 的安装: https://docs.tp4a.com/install/#11 异常1:libc.so.6: version `GLIBC_2.14' no ...

  5. 开源堡垒机jumpserver的安装

    开源跳板机jumpserver安装 简介 Jumpserver 是全球首款完全开源的堡垒机, 使用GNU GPL v2.0 开源协议, 是符合4A 的专业运维审计系统 Jumpserver 使用Pyt ...

  6. 开源堡垒机jumpserver的配置和使用

    开源跳板机jumpserver配置和使用 http://docs.jumpserver.org/zh/docs/quick_start.html#id9 系统设置 基本设置 # 修改url 的&quo ...

  7. Docker 搭建开源跳板机_jumpserver (运维开源堡垒机_jumpserver) Centos_7.0

    最近看到一个开源项目(jumpserver)  很不错  还是用Docker  部署得 ... 抽了点时间拿来学习一下  部署    分析   简单使用一下  ....好了先搭起来 准备 工作:    ...

  8. 开源堡垒机GateOne的安装、配置笔记

    因为内部临时需要这么一套系统,所以搜搜查查,搞定了系统部署,使用pam认证的配置. 系统初始化是使用CentOS 6.5 Mini x64版本.   首先exports http_proxy和http ...

  9. 开源堡垒机Gateone 安装过程记录及报错处理

    1.下载git源码或者zip包都可以,下载到我们制定部署目录. git地址:https://github.com/liftoff/GateOne.git 2.检查tornado 版本,安装tornad ...

  10. centos 7 搭建开源堡垒机 Teleport 遇到的问题解决

    不得不说 centos7 的环境版本就是高,没有再出现6.5下那些依赖组件的版本支持过低的错误了,所以说现在个人用户还是推荐用7,企业生产环境的话,可能6.5适合一些,至少2年前是这样. 安装过程:  ...

随机推荐

  1. 从零开始的react入门教程(五),了解react中的表单,何为受控组件与非受控组件

    壹 ❀ 引 我们在从零开始的react入门教程(四),了解常用的条件渲染.列表渲染与独一无二的key一文中介绍了react中常用的条件渲染操作,比如三元运算符,逻辑运算符等,结合react组件或者re ...

  2. Java语法专题3: HashMap

    合集目录 Java语法专题3: HashMap 谈谈 HashMap 的特性 存储KV键值对, 实现快速存取, key和value都允许为null. key值唯一, 重复则覆盖. key为null时, ...

  3. QT - Day 1

    Date: 2021/3/12开始学习 教程视频: QT基本介绍: 跨平台图形界面引擎 优点  跨平台 接口简单,容易上手 一定程度上简化了内存回收 创建第一个QT程序  点击创建项目后,选择项目路径 ...

  4. Frida 原理

    frida注入的主要思路: 1.找到目标进程,使用ptrace跟踪目标进程 2.获取mmap,dlpoen,dlsym等函数库的偏移 3.获取mmap,在目标进程申请一段内存空间,将在目标进程中找到存 ...

  5. 使用TLP对Linux系统进行充电保护

    https://zhuanlan.zhihu.com/p/65546444 TLP:一个可以延长 Linux 笔记本电池寿命的高级电源管理工具 https://blog.csdn.net/zxw781 ...

  6. day02---虚拟机上网模式

    修改虚拟网络编辑器 虚拟软件网络模式介绍 NAT网络模式 特点:虚拟主机和宿主机网络信息 可以不一致 优点:不容易出现局域网中IP地址冲突 缺点:其它宿主机不能直接访问虚拟机 桥接网络模式 特点:虚拟 ...

  7. 【转载】nltk英文自定义分词

    NLTK项目地址: https://github.com/nltk/nltk_data/tree/gh-pages/packages NLTK基础分词用例: https://www.cnblogs.c ...

  8. 【C++ OOP 03 友元】各种友元例子以及如何类外写成员函数

    [友元] 在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术 友元的目的就是让一个函数或者类 访问另一个类中私有成员 友元的关键字为 friend 友元的三种实现 全 ...

  9. 【Filament】纹理贴图

    1 前言 ​ 本文主要介绍使用 Filament 实现纹理贴图,读者如果对 Filament 不太熟悉,请回顾以下内容. Filament环境搭建 绘制三角形 绘制矩形 绘制圆形 绘制立方体 ​ Fi ...

  10. 【Azure 事件中心】Event Hub 消费端出现 Timeout Exception,errorContext中 LINK_CREDIT为0的解释

    问题描述 在使用Event Hub SDK消费数据过程中,出现大量的Timeout Exception,详细消息为: com.microsoft.azure.eventhubs.TimeoutExce ...