首先介绍一下 OneTerm, 是一个基于 Go + Vue 开发的 Web 端开源堡垒机项目. 之前一直是只有堡垒机的核心功能, 较为单一. 然后最近几个月我将主要精力投入到了这个项目的开发, 从最初收集了不少朋友的建议和社群的反馈, 然后经历大概三个月断断续续的打磨和重构, 迭代了几个版本, 目前不仅功能完备, 交互体验和性能皆有提升
主要更新的功能大概有以下:
-
工作台整体 UI 界面升级, 调整了较多交互细节, 新增侧边辅助工具栏, 方便快捷操作, 并新支持了以下功能
- 全屏切换: 一键切换工作台为全屏模式
- 最近会话: 展示了当前用户最近会话登录信息,支持直接登录和切换账号登录
- 批量执行: 支持通过选择多个资产进行命令批量执行, 提升运维效率
- 显示设置: 自定义终端和远程桌面显示设置
- 主题设置: 内置 100+ 终端主题, 一键切换
- 快捷命令: 可根据预设常用命令,一键执行,减少重复输入
- 文件管理: 针对 SSH 与 RDP 协议提供可视化文件管理功能, 支持权限控制和日志审计
- 剪贴板: 便捷管理远程桌面会话内外内容复制与粘贴
- 远程桌面分辨率设置: 提供灵活的分辨率自定义配置,适配不同屏幕尺寸和使用需求
- 资产分享: 快速创建当前资产临时连接, 用于临时访问
-
多协议支持
- 新增 Database 和 Web 协议,现已支持:
| 协议类型 | 认证方式 | 会话录制 | 文件传输 | 多用户支持 |
|---|---|---|---|---|
| SSH | 密码/密钥 | ✅ | ✅ | ✅ |
| RDP | 密码 | ✅ | ✅ | ✅ |
| VNC | 密码 | ✅ | ❌ | ✅ |
| Telnet | 密码 | ✅ | ✅ | ✅ |
| Redis | 密码 | ✅ | ❌ | ✅ |
| MySQL | 密码 | ✅ | ❌ | ✅ |
| MongoDB | 密码 | ✅ | ❌ | ✅ |
| PostgreSQL | 密码 | ✅ | ❌ | ✅ |
| HTTP / HTTPS | 密码 | ❌ | ✅ | ✅ |
- 单独重构设计了访问控制模块, 新增三个子页面, 用于支持节点, 资产, 帐号三个维度, 提供六种操作权限(连接、分享、上传、下载、复制、粘贴), 结合时间模版(多时区多时间段), 命令模版, IP 白名单等安全策略, 满足不同场景需求
-
新增系统设置模块, 支持以下系统默认配置
- 我的公钥: 用于配置命令终端登录堡垒机 SSH 服务时的免密认证公钥
- 快捷命令: 预设常用命令,用户在终端操作或批量执行时可一键调用
- 终端显示: 用于配置终端界面的展示效果,包括字体样式、配色主题、分辨率等,满足不同用户的操作习惯与视觉偏好
- 访问控制: 设置默认访问控制配置
-
存储配置: 目前用于配置会话录像的存储方式,便于定期清理、归档及路径管理
- tip: 会话录像是所有在 oneterm 中进行的会话都会被记录下来, 方便后面播放回放. 谁在何时哪台服务器上执行什么命令和进行什么操作, 都会记录
除了上面新增的功能外, 还有性能优化和代码重构等细节就不叙述了, 可以查看最近的 CHANGELOG
目前有在线体验浏览也支持 Docker 本地快速构建
项目地址: https://github.com/veops/oneterm
如果觉得不错, 欢迎点一个 Star ⭐️. Star 就是对我们最大的鼓励. Thanks!
如果你有任何问题和建议,无论是功能上的,还是文档、交互体验方面的,欢迎随时提出来,或者直接联系我!让我们一起把这个项目做大做强!
