难点不在于打开一个 SSH 会话
打开 SSH,任何工具都能做到。真正的难点始于你要为众多客户管理基础设施:哪台主机属于谁、密码存放在哪里,以及月底该给客户发送什么。
之前
一份扁平的主机列表,完全看不出每台机器属于哪个客户。
之后
项目、带标签的虚拟机,两次点击就能找到正确的机器。
之前
密码存放在共享的 Excel 文件里。
之后
使用 Argon2id 派生密钥保护的 AES-256-GCM 密码库。
之前
客户询问你这个月做了什么。
之后
一份自包含的月度 HTML 报告,可直接发送。
足以取代一堆零散工具
每项功能都有专门的指南。
项目与虚拟机
按客户或环境对服务器分组,并用标签快速找到正确的虚拟机。
查看指南 →多标签页 SSH 终端
在一个窗口中运行多个 SSH 会话,内置真实 PTY,支持 vim、htop 和 tmux。
查看指南 →加密密码库
在受主密码保护的 AES-256-GCM 密码库中保存密码和 SSH 密钥。
查看指南 →无代理监控
通过一条只读 SSH 命令采集 CPU、内存、磁盘、网络和进程数据。
查看指南 →告警与配置漂移检测
发现无法访问的虚拟机以及服务器安全相关配置中的重要变化。
查看指南 →月度客户报告
生成一份包含当月指标和事件的自包含 HTML 文件,可直接发送。
查看指南 →SFTP 文件传输
在你的电脑和虚拟机之间移动文件,无需维护单独的传输工具。
查看指南 →从 ~/.ssh/config 导入
将已有的主机、端口和用户导入项目,无需重新录入。
查看指南 →键盘优先
使用命令面板和快捷键快速访问项目、虚拟机和常用操作。
查看指南 →LC_ALL=C; export LC_ALL
echo '@@VMOPS:uptime@@'; cat /proc/uptime
echo '@@VMOPS:load@@'; cat /proc/loadavg
echo '@@VMOPS:cpu@@'; grep '^cpu ' /proc/stat
echo '@@VMOPS:mem@@'; grep -E '^(MemTotal|MemFree|...)' /proc/meminfo
echo '@@VMOPS:net@@'; cat /proc/net/dev
echo '@@VMOPS:disk@@'; df -P -k
echo '@@VMOPS:procs@@'; ps -eo pcpu,pmem,comm --sort=-pcpu
echo '@@VMOPS:ports@@'; ss -H -tuln
echo '@@VMOPS:users@@'; cut -d: -f1,3,7 /etc/passwd
echo '@@VMOPS:keys@@'; ... authorized_keys
echo '@@VMOPS:sudoers@@'; cat /etc/sudoers ...
echo '@@VMOPS:auth@@'; journalctl -u sshd ...
echo '@@VMOPS:end@@'安全
你掌握着别人基础设施的钥匙
密码库使用两层密钥,且没有云同步。
阅读完整的安全模型- AES-256-GCM
- 带认证的加密方式,每个数据块使用随机 nonce。
- Argon2id
- 64 MiB 内存,3 次迭代。
- 两层密钥
- 更换主密码会轮换数据密钥。
- 操作系统密钥链
- 只缓存数据密钥,绝不缓存主密码。
- Zeroize
- 明文密钥仅在内存中短暂存在。
- TOFU 主机密钥
- 服务器密钥变化时发出警告。
常见问题
我的客户数据会发送到任何服务器吗?
不会。数据保存在你的电脑上,应用没有任何云同步功能。
我需要在服务器上安装代理吗?
不需要。监控只使用一条 SSH 连接和一条固定的只读命令。
应用会开放额外的端口吗?
不会。它使用服务器已有的 SSH 连接。
如果我忘记了主密码怎么办?
没有找回机制。主密码从不会被存储在任何地方。
我可以使用现有的 ~/.ssh/config 文件吗?
可以。你可以将其中的主机、端口和用户导入到某个项目,而无需手动录入。