https://github.com/webankpartners/wecube-plugins-terminal
terminal for ssh
https://github.com/webankpartners/wecube-plugins-terminal
terminal
Last synced: 9 months ago
JSON representation
terminal for ssh
- Host: GitHub
- URL: https://github.com/webankpartners/wecube-plugins-terminal
- Owner: WeBankPartners
- License: apache-2.0
- Created: 2021-01-11T01:33:24.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-09T02:24:57.000Z (about 1 year ago)
- Last Synced: 2025-05-05T22:55:07.755Z (about 1 year ago)
- Topics: terminal
- Language: Vue
- Homepage:
- Size: 1.38 MB
- Stars: 10
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Terminal插件
[](https://opensource.org/licenses/Apache-2.0)

## 简介
Terminal插件提供了远程终端接入能力,在用户既有权限内更加方便的进行终端操作。
主要功能:
1. 多标签ssh终端会话
2. 支持文件上传/下载
3. 支持连接 & 文件传输统一权限控制
4. 支持空闲会话回收
5. 支持文件传输记录审计
6. 支持会话保存 & 回放
7. 支持实时终端输入的高危命令检测
8. 支持跳板机(ssh tunnel)
## 概念说明
**a) 系统参数**
需要修改插件的系统参数以正确启动插件服务
| 名称 | 默认值 | 描述 |
| -------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| TERMINAL_ASSET_TYPE | wecmdb:host_resource | 终端资产类型,比如cmdb插件中的主机资源,格式为package:entity |
| TERMINAL_FIELD_NAME | name | 从TERMINAL_ASSET_TYPE数据中提取的名称字段 |
| TERMINAL_FIELD_IP | ip_address | 从TERMINAL_ASSET_TYPE数据中提取的登陆IP字段 |
| TERMINAL_FIELD_PORT | login_port | 从TERMINAL_ASSET_TYPE数据中提取的登陆端口字段 |
| TERMINAL_FIELD_USER | root_user_name | 从TERMINAL_ASSET_TYPE数据中提取的登陆用户名字段 |
| TERMINAL_FIELD_PASSWORD | root_user_password | 从TERMINAL_ASSET_TYPE数据中提取的登陆密码字段,支持qcloud/saltstack的{cipher_a}加密数据 |
| TERMINAL_FIELD_DESC | description | 从TERMINAL_ASSET_TYPE数据中提取的描述字段 |
| TERMINAL_SESSION_TIMEOUT | 1800 | 出于安全的考虑,会话不会长期有效,此变量控制一个会话在持续多少秒过程中如果用户无任何操作,服务器将主动断开会话连接 |
| TERMINAL_WEBSOCKET_URL | ws://127.0.0.1:19002 | WebSocket连接地址,插件在19002端口注册了websocket服务,以提供ssh会话能力,请根据实际访问IP进行更改,格式为ws://IP:PORT。 |
| TERMINAL_COMMAND_CHECK | ON | 是否启用终端实时高危命令检测,可选ON/OFF |
| TERMINAL_BOXES | all | 使用哪些高危命令插件的box进行命令检测,默认为all表示所有已启用的box,可以更改为box id列表,以","符号进行分隔,比如:1,2,3表示仅使用1/2/3这3个box进行检测。 |
| TERMINAL_FILE_DOWNLOAD_MAX_BYTES | 104857600 | 出于安全考虑,文件下载可以进行单个下载文件的大小限制,单位为byte,默认100MB |
至少需要修改TERMINAL_WEBSOCKET_URL参数才能正常使用插件。
## 痛点解决
插件提供了常见的安全终端功能:文件传输 & 终端连接的权限管理,以及文件传输记录 & 历史会话回放的审计能力,支持空闲会话回收,支持通过跳板机登陆。
安全终端常见方式是使用了正则模式进行高危命令识别,通常是进行事后的或者极少一部分实时输入的命令分析进行审计,而terminal中实现了更多的用户输入模式解析,能实时解析大部分命令,并对接[高危命令检测插件](https://github.com/WeBankPartners/wecube-plugins-itsdangerous)实现优于正则的高危命令识别能力,让操作更加安全。
## 反馈
如果您遇到问题,请给我们提[Issue](https://github.com/WeBankPartners/wecube-plugins-terminal/issues/new/choose),我们会第一时间反馈。