Files
wecom_it_smart_desk/docs/04-运维文档/部署运维/11-堡垒机运维工具.md
T
Simon facc04aa65 chore: docs 结构整改 + compose 双目录对齐(合并重建提交)
本提交为 .git 对象库损坏后的重建提交,内容等价于原先三个本地提交
(5e2fd4c2 / 57a53c98 / 5d7e1873)的累积结果,未做任何额外改动。

一、docs 结构整改(整改 #14)
根因:重构时新结构为 untracked 文件,执行 git stash(未带 -u)未纳入,
随后 git reset 拉回 HEAD 旧 tracked 树,导致旧树复活、新旧两棵目录
树并存于 docs/,共 791 文件、双分类体系冲突。

修复动作:
- b2 同名异主题文件改名迁移保全 9 个
- C 类 39 个孤立文件按主题正确归类
- A/B1 类 222 个重复文件删除(新结构已有内容副本)
- 9 个旧独有空目录删除
- 270 处内部引用按 verified 映射改写
- 整改记录 #14 登记于 04-运维文档/部署运维

结果:docs 791 → 569 文件,顶层仅规范 8 类 + 治理文件,单树恢复。
残留:约 20 处指向从未存在文件的陈旧死链,归入独立文档卫生任务。

二、compose 双目录对齐(消除踩坑 A)
- docker-compose.yml:nginx 前端挂载全部由根目录 frontend-*/dist
  改为 src/frontend-*/dist(h5 / agent / admin / terminal)
- docker-compose.dev.yml:dev 服务 build context 与卷同步改 src/
- 效果:本地 docker compose up 不再把根目录 stale dist 挂回,
  与线上一致,分叉隐患消除(已 docker compose config 校验通过)

防复发铁律:
- 重构须提交;仓库修复须 git stash -u 或先 commit
- 新结构须 git add 并提交,避免再次 untracked 复活
- H5 改动只动 src/frontend-h5/,禁改根目录遗留 frontend-*/
2026-08-07 22:31:32 +08:00

102 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 堡垒机运维工具 (jumpserver-V2)
## 概述
通过 JumpServer 堡垒机自动化执行远程命令、文件上传下载。统一入口为 `v2_ops.py`,支持多种操作模式。
> **重要**jumpserver-ops(旧版)已下线,统一使用 jumpserver-V2。
## 连接方式决策
| 场景 | 连接方式 |
|------|----------|
| **默认** | 通过堡垒机跳转(大多数内网服务器) |
| **例外** | 直连(NAS、开发机等)需单独配置 |
> **规则**:默认都需要通过堡垒机,除非明确告知某台服务器是直连。
## 使用方法
### 1. 首次登录
```bash
# 首次使用:弹出浏览器,手动填写 OTP
cd C:\Users\simon\.workbuddy\skills\jumpserver-V2\scripts
python v2_ops.py login
```
### 2. 远程命令执行(推荐)
```bash
# 单命令(免登录,复用缓存)
python v2_ops.py exec "docker ps"
# 多命令串行
python v2_ops.py exec "hostname && uptime && docker ps"
# 批量命令文件
python v2_ops.py batch commands.txt
```
### 3. 文件上传
```bash
# 上传到服务器 /tmp 目录
python v2_ops.py upload 本地文件.conf /tmp/远程路径.conf
```
### 4. 文件下载
```bash
# 从服务器 /tmp 目录下载
python v2_ops.py download /远程路径.conf ./本地文件.conf
```
### 5. 巡检(只读)
```bash
# 只读巡检:磁盘/内存/负载/CPU/容器/会话
python v2_ops.py inspect
```
## 方案选择依据
| 需求 | 推荐方案 | 速度 |
|------|----------|------|
| 执行命令获取文本结果 | V2 REST API + plink PTY | 首次 ~13s,复用 ~2-3s |
| 执行命令看界面效果 | Web CLI(截图) | ~60s |
| 文件上传 (< 100KB) | psftp 通道 | 快 |
| 文件上传 (>= 100KB) | psftp 通道 | 稳定 |
| 文件下载 | psftp 通道 | - |
| 只读巡检 | inspect 子命令 | - |
## 目标服务器配置
当前预设目标:`hz-oa-ai-g-dataquery-90-5-110` (10.90.5.110)
新增直连服务器时,需提供:
- IP 地址
- 端口(默认 22
- 用户名
- 认证方式(密码或 SSH 密钥)
## 故障排除
| 问题 | 解决方法 |
|------|----------|
| 登录失败 | 检查 `config/jumpserver_config.json` 密码是否正确(Base64 编码) |
| MFA 失败 | 确认 `scripts/otp_secret.key` 存在且系统时间准确 |
| 资产未找到 | 确认目标名称与 JumpServer 中显示一致 |
| 401 错误 | 缓存失效,自动回退浏览器重新登录 |
## 脚本位置
```
C:\Users\simon\.workbuddy\skills\jumpserver-V2\scripts\v2_ops.py
```
## 相关文档
- [服务器部署手册](./服务器部署手册.md)
- [版本更新说明](./05-版本更新说明-v1.1.0-20260614.md)