上一篇文章分享了一款简洁且强大的开源堡垒机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. NC19832 1408

    题目链接 题目 题目描述 小m曾经给小t和小s讲过一个奇怪的故事.这个故事叫做1408.故事的大体内容如下. 主人公迈克·安瑟林(约翰·库萨克饰)是一个恐怖小说家.将装神弄鬼作为本职工作的迈克,平日里 ...

  2. 一键部署Home Assistant ubuntu 20.4.3 树莓派3b+脚本

      树莓派3b+安装好 Ubuntu Server 20.04.3 LTS 32bit 后即可适用此脚本,其他版本树莓派/系统可能需要微调脚本*为方便一些未知/已知错误排查 脚本存在冗余部分,足够了解 ...

  3. itext 生成 PDF

    itext 生成 PDF(一) 转自:https://blog.csdn.net/lcczpp/article/details/125424395   itext生成PDF excel 示例  转自: ...

  4. 用Taro写一个微信小程序——Taro3路由传参

    参考https://docs.taro.zone/docs/router 1.传入参数 Taro.navigateTo({ url: '/pages/page/path/name?id=2&t ...

  5. 案例分享:Qt国产麒麟系统某防“某显示控制项目”(多类设备自动化流程控制,数据分析整合与展示,定位图,深度图,热力图等,多应用协调管控,健壮容错)

    喜报   我司承担的某防"某显示控制项目",已于近日顺利通过湖底验收.   需求   功能简介:  1.多类设备的显示.控制与管理  2.数据的分析与展示,定位图.深度图.热力图等 ...

  6. http.Handler接口

    // 示例 // net/http package http type Handler interface{ ServeHTTP(w ResponseWriter, r *Request) } fun ...

  7. 如何在 WindowManager.addView 中使用 Jetpack Compose

    如何在 WindowManager.addView 中使用 Jetpack Compose 一.引出问题 Android 开发中,很常见的一个场景,通过 WindowManager.addView() ...

  8. ASP.NET Core 跨域

    跨域常见问题: 1.发布到IIS上后跨域问题 解决方法 修改web.config文件 <system.webServer> <httpProtocol> <customH ...

  9. 第一百零四篇:DOM事件流

    好家伙,JS基础接着学,   1.事件流 页面哪个部分拥有特定的事件? 可以把页面想象成一个同心圆, 当你戳了其中的一点,其实你同时戳中了很多个圆   当你点击一个页面中的按钮,实际上你同时点击了这个 ...

  10. 可视化探索开源项目的 contributor 关系

    引语:作为国内外最大的代码托管平台,根据最新的 GitHub 数据,它拥有超 372,000,000 个仓库,其中有 28,000,000 是公开仓.分布式图数据库 NebulaGraph 便是其中之 ...