安装与快速开始
几分钟内完成安装,连上你的第一台服务器。
系统要求
| 平台 | 最低版本 | 架构 | 安装包 |
|---|---|---|---|
| Windows | Windows 10 (1809+) | x64 | .exe 安装向导 |
| macOS | Catalina 10.15+ | Apple Silicon / Intel | .dmg |
| Linux | Ubuntu 20.04 / Debian 11+ | x64 | .AppImage / .deb |
安装
到下载页取对应平台的安装包。页面上的每个链接都对应真实文件,并附了大小与 SHA-256 可自行核对;暂未发布的平台会明确标注,不会给一个点不动的按钮。
macOS 当前版本未做 Apple 公证,首次打开若提示「已损坏」或「无法验证开发者」,请右键点击应用图标 → 选择「打开」,或在终端执行一次:
xattr -dr com.apple.quarantine /Applications/Vop Shell.app
想自己构建或用 CI 打包,命令写在下载页底部:macOS 用 node scripts/build-mac-app.js,Windows / Linux 分别用 npm run dist:win / npm run dist:linux。
第一次连接
- 启动 Vop Shell,左侧就是主机管理面板。
- 点击「新建主机」,填写地址、端口(默认 22)、用户名。
- 在「身份认证」里选择密码 / 私钥 / 键盘交互 / SSH Agent,也可以直接引用一条凭据。
- 保存后在列表里单击即可连接;也可以先点「测试连接」验证配置。
[email protected]:22 回车,会立刻创建并打开会话。已经存在同样地址的主机会被直接复用,不会堆出重复条目。界面概览
主界面是「顶部命令条 + 左侧栏 + 工作区 + 右侧图标轨 + 底部状态栏」五块布局:
| 区域 | 作用 |
|---|---|
| 顶部命令条 | 品牌、快速连接框(输入 [email protected]:2222 回车直连)、导入、录制、隐私开关、新建连接、设置、账户 |
| 左侧栏 | 搜索、新建 / 本地 / 多选 / 分组 / 导入、筛选胶囊(全部 · 最近 · 收藏 · 每个标签)、分组树 |
| 顶部标签栏 | 所有活跃会话,支持拖拽排序、右键批量关闭、快捷键切换 |
| 中央工作区 | 按当前标签切换显示:终端 / 远程桌面;没有会话时是欢迎页 |
| 右侧图标轨 | 十个面板以竖排图标常驻:文件、监控、命令、历史、市场、凭据、清理、AI、隧道、笔记。收起后仍留一条窄轨,随时点回来 |
| 底部状态栏 | 会话数与连接状态、当前地址、云同步状态(进行中 / 失败会变色,点一下直达设置里的云同步页)、授权版本、程序版本 |
面板用竖排图标轨而不是横排标签,是因为横排在窗口变窄时会把最后几个字的标题切掉;竖排不受宽度影响。当前选中的图标左侧有一条强调色竖线,面板标题右侧会显示它正在管理的会话名。
SSH 连接
认证方式
| 方式 | 说明 | 适用场景 |
|---|---|---|
| 密码 | 用户名 + 密码 | 简单快速 |
| 私钥 | RSA / ED25519 / ECDSA,OpenSSH 与 PEM 格式都认 | 生产环境推荐 |
| 私钥 + 口令 | 加密私钥再输一次 passphrase | 最高安全等级 |
| 键盘交互 | Keyboard-Interactive,支持多轮质询 | 双因素认证 |
| SSH Agent | 转发本机已加载的密钥 | 密钥不落盘 |
凭据库
如果多台主机用同一套账号,建议把它存进凭据库,主机里只选择「使用凭据」。这样改一次密码,所有引用它的主机同时生效,不用逐台改。
凭据列表接口永远不下发明文,需要时按单条取用。删除凭据时会自动解除所有主机的引用,避免主机指向一条不存在的记录。
主机指纹校验
首次连接某台服务器时会记录它的 SHA256 主机密钥指纹。之后再连,如果指纹变了会直接拒绝连接,并列出原指纹与现指纹。
连接前 / 连接后命令
在主机设置的「命令」里可以配置三组本地命令钩子:
- 连接前:登录前在本机执行,常用于拉起 VPN、检查网络连通性。
- 连接后:登录后自动写入交互式 shell,回显会留在终端里,相当于替你敲了这几行。
- 断开前:关闭会话前执行收尾,每条最多等 3 秒,不会卡住关闭流程。
克隆会话
在已连接的终端标签上右键「克隆会话」,会复用同一条 SSH 连接再开一个 shell——不重新认证、不产生新的登录记录。适合同时看日志和敲命令。关闭副本不会影响源会话,反之亦然。
高级连接参数
| 参数 | 说明 | 默认 |
|---|---|---|
| 连接超时 | TCP 连接建立等待时间 | 10 秒 |
| 保活间隔 | Keep-Alive 心跳,防止 NAT 掉线 | 60 秒 |
| 终端编码 | UTF-8 / GBK / GB18030 / Big5 / EUC-JP / Shift_JIS / EUC-KR / ISO-8859-1 | UTF-8 |
| 滚动行数 | 终端历史保留行数 | 1000 |
| 兼容老旧算法 | 启用 group1-sha1、3des-cbc 等已废弃算法 | 关闭 |
命令面板
按 ⌘+K(Windows / Linux 上是 Ctrl+Shift+P),或者点标题栏快速连接框右边的那个按钮,会从屏幕上方落下一个输入框。它把四类东西放在一起搜:
- 已开的会话 —— 用来切标签,不用去顶上一排里找;
- 保存的主机 —— 回车直接连;
- 命令片段 —— 回车直接发到当前会话(变量规则同「快捷命令」);
- 常用动作 —— 新建连接、本地终端、批量输入、设置、导入、录制、账户、锁屏。
匹配规则比「包含」宽一点:前缀命中排在中间命中前面,连续命中排在散着命中前面,所以 dbsrv 能命中 db-server-01;用空格分词表示「都要满足」,db 01 只会留下名字里同时有这两段的机器。上下键选、回车执行、Esc 关闭,全程不用碰鼠标。
断线自动重连
网络抖动、Wi-Fi 切换、服务器重启导致掉线时,Vop Shell 会按 3 秒、6 秒、12 秒退避重连(最多 3 次,可在「设置 → 终端」里改次数与首次间隔),面板上会写着「连接断开,6 秒后自动重连(第 1/3 次)」。重连成功后计数清零,下一次掉线重新从第 1 次算。
下面这几种情况不会自动重连,因为重试帮不上忙或者会帮倒忙:
- 你在终端里敲了
exit正常退出 —— 重连等于把你关掉的窗口又打开; - 认证失败、密钥不对 —— 反复重试只会让服务器把账号锁掉;
- 域名解析不了、端口没开放 —— 参数问题,改配置才有用;
- 你自己关掉的面板 —— 关掉就是关掉。
不确定要不要连回来时,面板上仍然是原来的「重新连接」按钮,手点一下就行。
这条规则对 Telnet、串口、本地终端一样生效。Telnet 有个绕不开的麻烦:设备上的 exit 是把 TCP 直接关掉,和网线被拔在字节层面没区别。Vop Shell 的做法是看最近几秒提交的命令 —— 是 exit、logout、quit、reboot 这类退出命令就当正常退出,其余一律按掉线重连。
多标签与分屏
标签页数量不设上限,每个标签是完全独立的会话。支持拖拽排序、双击重命名、右键「关闭其他 / 关闭全部」。
| 操作 | 快捷键 | 说明 |
|---|---|---|
| 垂直分屏 | Ctrl+Shift+D | 在当前面板右侧新建 |
| 水平分屏 | Ctrl+Shift+E | 在当前面板下方新建 |
| 关闭面板 | Ctrl+Shift+W | 只关当前面板 |
| 调整比例 | 拖拽分隔线 | 自由调节宽高 |
单个标签最多 16 个面板(4×4)。每个面板可以连不同服务器,比如左边看 Web 日志、右边连数据库执行查询。
终端搜索与高亮
Ctrl+F 打开终端内搜索,实时高亮所有匹配文本。终端内置关键词高亮规则,自动把 URL、IPv4/IPv6、邮箱、日期时间、文件路径、纯数字标出来,也可以自己加正则规则并选 12 种颜色之一。
智能 Ctrl+C
有选中文本时 Ctrl+C 是复制,没有选中时是发送中断信号。不用再纠结复制和中断冲突。
会话录制
点击终端工具栏的录制按钮开始,所有输入输出会被实时捕获,对性能无感知影响。
停止后进入回放:支持暂停 / 继续、0.5×~4× 变速、拖动时间轴跳转。可以导出两种格式:
- asciinema
.cast:纯文本事件流,体积小,可在网页播放器里播。 - GIF:内置编码器直接生成,可调帧率、画质、水印文字,导出后能直接贴到 Issue 或聊天窗口。
批量执行
在左侧栏点「多选」,勾选多台主机后一次性全部打开;已经打开多个会话时,用右侧「命令」面板的「发送到全部会话」把一条命令同时下发给所有会话。
rm、reboot、mkfs 等破坏性命令时请先在小范围验证。Vop Shell 对这类命令有二次确认,但它只能拦住明显的关键词。快捷命令与笔记
快捷命令用于保存可复用的命令与脚本片段:
- 支持分组管理,命令内容里可以用
{{变量}}占位符。其中七个是内置的,发送时自动带出、不打扰你:{{host}}、{{user}}、{{port}}、{{name}}、{{cwd}}、{{date}}、{{time}}。 - 其它变量(比如
{{file}})在发送前逐条弹窗填写。取不到值的内置变量也会弹窗,而不是塞一个空串 —— 否则会生成cd这种看起来正常、跑起来才报错的命令。 - 可以「发送到当前会话」或「发送到全部会话」。
- 支持全文搜索,按名称或内容关键词秒级检索。
笔记用于记录运维心得与排障过程,支持标题、正文、标签、关联主机,可全文检索,修改未保存时切换会提示。
SFTP 文件管理
右侧「文件」面板连接到当前会话所在的服务器。顶部是可编辑的地址栏,直接输入路径回车即可跳转。
上传与下载
| 操作 | 方式 |
|---|---|
| 单文件上传 | 点上传按钮选择文件 |
| 批量上传 | 多选文件 |
| 文件夹上传 | 选择文件夹,递归上传整个结构 |
| 拖拽上传 | 从系统文件管理器拖进面板 |
| 下载 | 右键单个 / 多个 / 整个文件夹递归下载 |
传输队列
所有传输任务进入统一队列,可以设置并发数、暂停 / 继续单个任务、取消排队、失败重试。同名文件支持覆盖、跳过、自动重命名三种策略。
文件操作
新建文件 / 文件夹、重命名、删除(二次确认)、可视化修改权限(chmod)。双击文件会在内置编辑器里打开,改完保存自动回传服务器。
远程压缩与解压
直接在服务器上执行,不需要先下载再上传:压缩支持 tar.gz 与 zip,解压支持 tar.gz、tar、zip。解压前会自动创建目标目录。
跟随终端目录
终端里 cd 到别的目录时,文件面板会自动跟着跳(依赖 shell 的 OSC 7 目录上报)。如果服务器 shell 没开这个能力,文件面板保持自己的路径不动。
ZMODEM 传输
远端执行 rz / sz 时,服务器会发来二进制握手帧。如果照原样写进终端,满屏都是乱码,而远端会一直停在那里等应答。Vop Shell 会先认出这个握手帧并把它截住,然后在终端上方给出提示条,说明发生了什么。
提示条上有三个选择:
| 选择 | 效果 |
|---|---|
| 打开文件面板 | 切到 SFTP 面板,把文件放进或取出当前目录 |
| 结束远端请求 | 发送 Ctrl+C,让远端退出 rz / sz,回到正常 shell |
| 显示原始输出 | 不再拦截,把后续数据原样写进终端(排障时用) |
lrzsz,也能断点续传、看进度、进队列。RDP 远程桌面
Vop Shell 不自带 RDP 协议栈,而是把参数整理好后交给系统客户端打开——Windows 用 mstsc,macOS 用「Windows App」,Linux 用 FreeRDP。这样兼容性和外设支持都由系统保证。
| 参数 | 说明 |
|---|---|
| 主机 / 端口 | 默认 3389 |
| 用户名 / 密码 / 域 | 域账号填写 AD 域名 |
| 分辨率 | 任意自定义,默认 1920×1080 |
| 色彩深度 | 低带宽时降低色深提升流畅度 |
面板里可以一键复制密码、导出 .rdp 参数文件,或探测本机是否已安装可用的客户端。
VNC 远程桌面
内置自研 RFB 客户端,支持协议 3.3 / 3.7 / 3.8,编码为 Raw、CopyRect、Hextile。
- 三档画质切换,弱网时降画质保流畅。
- 「适应窗口」与 1:1 两种缩放模式。
- 剪贴板双向同步、全键位映射、滚轮、
Ctrl+Alt+Del。
如果 VNC 服务器在内网不可直接访问,先用 SSH 隧道把端口转发到本地,再连 127.0.0.1:转发端口。
Telnet 连接
完整实现 IAC 选项协商,可以正常和交换机、路由器、老式设备交互。
Telnet 会话享有 SSH 终端的全部能力:多标签、分屏、搜索、高亮、命令历史、会话日志、主题、录制。
部分老设备只认单个 CR,如果在 Vop Shell 里回车没反应,去设置 → 终端里把「Telnet 换行」从 CRLF 切成 CR。
串口连接
自动扫描系统里的串口设备并列出来,不用手动敲设备路径。
| 参数 | 可选值 | 常用 |
|---|---|---|
| 波特率 | 1200 ~ 115200 | 9600 / 115200 |
| 数据位 | 5 / 6 / 7 / 8 | 8 |
| 停止位 | 1 / 2 | 1 |
| 校验位 | 无 / 奇 / 偶 | 无 |
| 流控 | 无 / XON-XOFF / RTS-CTS | 无 |
连上只看到乱码,九成是波特率不对,试 9600 和 115200 两个最常见值。每个串口连接可以独立设置编码,不受全局设置影响。
AI 功能概览
AI 面板支持两种用法:
- 通用问答:独立对话,问命令怎么写、脚本怎么改、报错什么意思。
- 结合终端上下文:在终端里选中一段输出,右键发送给 AI,它会结合当前连接的环境给出针对性分析。
典型用法
| 你说 | 它给 |
|---|---|
| 查找 /var/log 下最近 3 天修改、大于 100MB 的文件 | find /var/log -mtime -3 -size +100M -type f |
| 查看占用 80 端口的进程 | ss -tlnp | grep :80 |
| 统计 nginx 日志里 502 出现次数 | grep -c ' 502 ' /var/log/nginx/access.log |
生成的命令默认不会自动执行,需要你点一下「发送到终端」,避免模型幻觉直接在生产上跑。
模型配置
支持三种接入协议,覆盖绝大多数情况:
| 协议 | 适用于 |
|---|---|
| OpenAI 兼容 | OpenAI、DeepSeek、通义千问、火山引擎,以及任何自称兼容 OpenAI API 的服务 |
| Anthropic Messages | Claude 系列 |
| Ollama 原生 | 本地或内网部署的开源模型,数据完全不出内网 |
配置项:API 地址、API Key、模型名。可调参数:温度(0 最确定,适合生成命令)、最大 token 数。
ollama pull qwen2.5,然后在 Vop Shell 里选 Ollama、填 http://内网IP:11434 即可。服务器监控
不需要在服务器上装任何 Agent,走 SSH 通道执行一条只读命令取回指标。
| 指标 | 内容 |
|---|---|
| CPU | 总使用率、用户/系统/IO 等待、每核统计、温度、1/5/15 分钟负载 |
| 内存 | 总量 / 已用 / 可用 / 缓存 / 缓冲,Swap 使用情况 |
| 磁盘 | 各挂载点使用量与百分比,自动过滤虚拟文件系统 |
| GPU | NVIDIA 走 nvidia-smi,AMD / Intel 走 sysfs;利用率、显存、温度、功耗 |
| 网络 | 各网卡收发速率、IP 地址、监听端口与占用进程 |
| 进程 | PID、名称、CPU%、内存%、用户、命令行 |
采样间隔可调(1~60 秒,默认 3 秒)。如果容器里没有 ss 也没有 netstat,会自动退回读 /proc/net/tcp 兜底,端口列表不会空着。
大文件清理
磁盘告急时用来快速定位空间被谁占了。分两个范围:
- 远端:扫描当前服务器的指定目录,优先用 GNU
find -printf,拿不到再退回du -ak。 - 本机:扫描本地磁盘,删除走系统回收站,可以恢复。
阈值可设 10MB ~ 5GB,按大小倒序排列,勾选后批量清理。
/proc、/sys、/dev、/run)与系统目录(/etc、/usr、/bin 等)既不参与扫描,也不允许删除。即使你手动构造请求也会被拒绝。SSH 隧道
| 类型 | 方向 | 典型场景 |
|---|---|---|
本地转发 -L | 本地端口 → 远程内网 | 连远程内网的 MySQL 3306、Redis 6379、Grafana |
远程转发 -R | 远程端口 → 本地服务 | 把本地开发服务暴露给远程服务器 |
动态转发 -D | 本地 SOCKS5 → 远程网络 | 浏览器配代理访问内网资源 |
隧道可以随 SSH 连接自动建立,也可以在右侧「隧道」面板里一键启停,并查看每条隧道的活跃连接数与流量。
代理与跳板
三种方式解决「连不上」的网络拓扑问题:
| 方式 | 中间节点 | 适用 |
|---|---|---|
| HTTP CONNECT 代理 | HTTP 代理服务器 | 企业代理环境 |
| SOCKS5 代理 | SOCKS5 服务 | 适用面较广,不挑协议 |
| SSH 跳板机 | SSH 服务器 | DMZ 跳内网,支持多级跳板链 |
三者可以组合:通过 HTTP 代理连到跳板机,再从跳板机 SSH 到目标主机。
命令市场
内置 94 条、13 个分类的运维命令库,覆盖系统信息、磁盘与文件、网络、进程与服务、日志排查、安全加固、容器编排、软件包、数据库、性能分析、用户权限、脚本片段、Web 服务。
- 搜索命令名或内容;点分类可以一键装整类到快捷命令。
- 每条命令有风险等级标注,破坏性操作会显红。
- 已安装的命令会打标,重复安装不会产生重复条目,你手动改过的分组会保留。
- 支持在线源 URL 拉取、导入命令包、导出自己的命令。
- 卸载只删除市场装进来的条目,不会动你自己建的快捷命令。
主机管理
分组
分组是树形结构,可以按「生产 / 测试 → 地区 → 服务」层层嵌套。点分组标题折叠展开,右键可以新建主机、编辑、删除(组内主机不会被删)。
标签
给主机打标签做用途标记(数据库、Web、缓存、负载均衡)或优先级标记(紧急、重要、普通)。标签支持这几种用法:
- 手动输入:逗号、顿号、分号、空格都能当分隔符,自动去重。
- 一键复用:对话框里会列出「已有标签」,点一下就加上,避免同一个标签被写成「生产」和「生产环境」两种。
- 点标签筛选:列表里的标签、顶部胶囊,点一下只看这一组。
- 批量打标签:侧栏「多选」勾好几台,点「打标签」一次加完。
- 全局改名 / 删除:筛选行末尾的「管理」,改名会同步到所有带这个标签的主机,删除前会告诉你影响几台。
列表里每台主机最多显示 3 个标签,超出的折叠成 +N;标签颜色按名称稳定生成,侧栏、对话框、筛选胶囊里始终同色。
收藏
右键任一主机可「收藏」,收藏的主机名称前带星标,并出现在侧栏的「收藏」筛选里。常用的那几台不必每次翻分组。
搜索
搜索框支持多关键词(空格分隔,必须全部命中),也支持字段前缀:
| 写法 | 含义 |
|---|---|
tag:生产 | 只搜标签 |
group:阿里 | 只搜分组名 |
ip:10.0 | 只搜地址 |
port:2222 | 只搜端口 |
proto:串口 | 按协议类型(中文别名也认) |
note:重建 | 只搜备注 |
导入与迁移
导入面板支持七种来源,导入前可以预览解析结果:
| 来源 | 格式 |
|---|---|
| SSH Config | ~/.ssh/config |
| FinalShell | .json |
| Xshell | .xsh / .xts |
| SecureCRT | .ini 会话文件(端口是十六进制) |
| PuTTY | 注册表 HKCU\Software\SimonTatham\PuTTY 或 .putty/sessions |
| MobaXterm | MobaXterm.ini 书签 |
| Termius | 直读其 SQLite 数据库 |
配置不在本机也能导
自动扫描只看各客户端的默认安装位置。如果你是从别的电脑把配置拷过来的,点左下角「从文件导入…」,可以选单个文件,也可以选整个会话目录:
- 优先按扩展名判断(
.xsh/.ini/.json/.db); - 扩展名对不上时按内容特征判断,例如
S:"Hostname"认成 SecureCRT、Host xxx认成 SSH config; - 选目录时把里面所有会话文件汇总,并按「地址:端口」去重。
重复项怎么处理
导入前会标出「已存在」(协议 + 地址 + 端口 + 账号完全相同),默认不勾选;真正写入时还会再按同样规则去一次重,导入完成提示「新增 N 台,跳过重复 M 台」。原工具加密过的密码读不出来,需要重新输入一次。
账户与授权
点右上角头像进入「账户与授权」。这个面板把三件相关的事放在一起,因为它们本来就互相牵连:登录态决定授权归属到谁,授权决定版本,版本又决定云同步的某些能力。
本地账户
Vop Shell 是桌面工具,主机、密码、私钥都在本机,没有也不需要把密码传到服务器校验。账户解决的是三个很具体的问题:
- 多人共用一台电脑时区分操作者;
- 给「空闲自动锁定」一个真正的主密码来源;
- 授权码归属到具体的人,换人时能一起清掉。
密码用 PBKDF2-SHA512 加盐存储,明文不落盘。昵称或密码错误时统一提示「昵称或密码不正确」,不区分是账号不存在还是密码错,避免被用来枚举昵称。
各版本的价格、权益与购买方式见定价页;下单与取码在购买页,凭「订单号 + 下单邮箱」随时取回授权码。条款见授权协议。
团队版:在你的后台里发码
团队版交付的不是一叠授权码,而是一套只属于你们公司的管理后台:一个地址、一个管理员账号,和我们的总后台完全分开。
开通后你会收到三样东西——地址(形如 本站/t/你们的简称/)、管理员账号、一次性初始口令。第一次登录会被要求先改口令,改完才算交接完成。
- 发码:在后台「授权码」里点「新建授权码」,填使用人(比如「张工-MacBook」)。谁的机器、谁的码,离职时一眼能找到那张码并作废。
- 席位:买的席位数就是能同时用的机器数,页面顶部一直显示「已用 / 总数」。作废与过期的码不占席位,换机不会越用越少。
- 换机:客户端的「解绑本机」照常可用;也可以在后台把那张码作废后重新发一张,同样不额外占位。
- 忘了口令:后台改不了别人的口令,找我们重置——重置会立刻踢掉在线会话,新口令只显示一次。
- 找人:后台地址与管理员账号随时可以在购买页查单用「订单号 + 邮箱」查回来;初始口令不重复显示。
你们后台里的数据只属于你们:口令只存哈希(我们也看不到明文),你们看不到别的客户,我们也不会去翻你们发给了谁。
授权码
授权码形如 VOPSHELL-XXXX-XXXX-XXXX-XXXX,16 位字符里含版本、席位数、期限与一个 12 位序号,并用 HMAC 签名。激活时不需要联网,内网机器也能用。现在的专业版与团队版都是永久授权(期限字段为 0),状态栏直接显示「永久」;若拿到的是有期限的码,到期前会在状态栏变黄提示剩余天数,失效则变红。
序号的作用是让「专业版 + 1 席位 + 永久」这类参数完全相同的码也互不相同——否则批量发码会发出重复的字符串,卖两次都看不出来。
换机器时点「解绑本机」,授权码可以拿到新设备上重新激活。
云同步
三种后端:云空间(买了专业版/团队版就能用,填授权码即可,不用配任何地址)、WebDAV(坚果云 / Nextcloud / 自建)、本地目录。同步内容为主机、分组、快捷命令、隧道、笔记。
云空间怎么用
- 选「云空间(用授权码,免配置)」→ 设一个同步口令 → 点「测试连接」,能看到配额与已用空间就说明通了。
- 另一台设备:激活同一张授权码(或同一团队的任意一张码)、输入同一个同步口令,点「立即同步」就会合并。
- 单个授权 5 MB,配置压缩后通常只有几十 KB;云空间里存的是加密后的密文,连服务端也解不开。口令忘了就找不回来,这一点和 WebDAV 一样。
- 社区版没有云空间,但 WebDAV 与本地目录一直可用,不会因为你没买而少功能。
在哪儿配,怎么看到状态
- 点底部状态栏的「同步」一项,会直接打开设置 → 云同步,不用从外观页一路点过去。
- 页面最上面是一张状态卡:关闭 / 待配置 / 就绪未同步 / 进行中 / 成功 / 失败六种状态各有自己的标题与颜色,失败时把原因直接写在卡上。
- 后台到点自动同步的结果也会反映出来:成功会刷新本机配置,失败会在状态栏变红并提示,不会出现「设置里写着已开启、其实一直在失败」。
- 「测试连接」只验证地址与口令是否可用;「立即同步」会真的拉取、合并、推送,并在卡上列出本次增改了哪些记录。
加密方式
同步文件是一个加密信封:凭据在本地用同步口令派生的密钥重新封装后再上传,服务端拿到的只是密文。换设备时输入同一个同步口令即可解开。用错了口令会有明确报错,不会静默覆盖。
合并策略
按每条记录的 updatedAt 合并,新的覆盖旧的;删除采用墓碑传播——删掉的条目不会因为另一台设备还有就从云端复活,超过 90 天的墓碑才回收。
主题与外观
界面主题(深色 / 浅色)与终端配色是完全独立的两套设置。你可以在浅色界面下用深色终端主题,反之亦可。
终端可调项
| 项目 | 说明 |
|---|---|
| 主题 | 多套 8 基础色 + 8 亮色的完整 ANSI 配色 |
| 字体 | 等宽字体族,可指定字体名与回退链 |
| 字号 / 行高 | 0 级到多级,也支持 Ctrl + 滚轮快速缩放 |
| 背景图片 | 任意 JPG / PNG,不透明度可调 |
| 光标样式 | 块 / 下划线 / 竖线,可开闪烁 |
快捷键
所有应用级快捷键都能改:设置 → 快捷键,点右侧「修改」后直接按下想要的组合键即可,按 Esc 取消。改坏了可以单项恢复,也可以一键全部恢复默认。
Windows / Linux 上 Ctrl + 字母 是 shell 的控制键(Ctrl+C 中断、Ctrl+D EOF、Ctrl+L 清屏、Ctrl+W 删词),所以这些动作默认再按住 Shift,把裸 Ctrl 完整留给终端。macOS 用 ⌘,不与 shell 冲突。
| 功能 | macOS | Windows / Linux |
|---|---|---|
| 命令面板 | ⌘K | Ctrl+Shift+P |
| 新建连接 | ⌘T | Ctrl+Shift+T |
| 关闭当前标签 | ⌘W | Ctrl+Shift+W |
| 左右分屏 | ⌘D | Ctrl+Shift+D |
| 上下分屏 | ⌘⇧D | Ctrl+Shift+E |
| 显示 / 隐藏侧栏 | ⌘B | Ctrl+Shift+B |
| 打开设置 | ⌘, | Ctrl+Shift+, |
| 立即锁定 | ⌘L | Ctrl+Shift+L |
| 放大 / 缩小 / 重置字号 | ⌘= / ⌘- / ⌘0 | Ctrl+= / Ctrl+- / Ctrl+0 |
| 按序号切换标签 | ⌘1 … ⌘9 | Ctrl+1 … Ctrl+9 |
终端内固定快捷键
| 功能 | macOS | Windows / Linux | 说明 |
|---|---|---|---|
| 搜索 | ⌘F | Ctrl+F | 打开终端搜索框,回车跳到下一个匹配 |
| 复制 | ⌘C | Ctrl+Shift+C | 有选中内容才复制 |
| 粘贴 | ⌘V | Ctrl+Shift+V | 多行内容会先确认再执行 |
| 中断当前命令 | Ctrl+C | Ctrl+C | 有选中内容时改为复制;可在设置里关掉「智能 Ctrl+C」 |
隐私模式
录屏、远程协助、把截图发到群里时,界面上到处都是 IP 和用户名。点标题栏的「隐私」按钮,这些信息立刻变成星号:
- 主机列表里的地址、面板标题上的
user@host:port、终端里的 IP 与邮箱全部遮蔽。 - IP 变成
***.***.***.***,用户名变成****,端口变成****。 - 域名保留首尾字符(
prod-web-01→p*********1),自己还认得出是哪台机器。
安全架构
数据加密
| 组件 | 实现 | 作用 |
|---|---|---|
| 数据加密 | AES-256-GCM | 机密性 + 完整性,密文被改一个字节就解不开 |
| 密钥派生 | 硬件标识 + 随机盐 | 密钥与本机绑定,拷到别的机器无法解密 |
| 随机因子 | 每条记录独立 IV | 相同密码的密文完全不同,防模式分析 |
| 主密码 | scrypt 校验 | 哈希只留主进程,界面只看到「是否设过」 |
连接安全
- 主机密钥指纹校验,首次记录、之后比对,不一致直接拒绝。
- 支持 RSA / ED25519 / ECDSA 现代密钥算法。
- 私钥可以只存本机、不经过任何网络传输。
操作安全
- 危险命令二次确认,命中
rm -rf、mkfs、dd等特征时弹窗说明风险。 - 删除文件、终止进程等破坏性操作都有确认。
- 零遥测:不采集行为、不上报日志、不嵌第三方统计 SDK。
常见问题
连接超时怎么办?
- 确认地址、端口正确,服务器 SSH 服务在跑:
systemctl status sshd。 - 检查防火墙:
sudo ufw status。 - 用了跳板机就逐级排查,先直连跳板机看通不通。
- 网络慢就调大连接超时时间。
连上后频繁断开?
把保活间隔设为 30~60 秒,这样即使网络短暂波动也不会被 NAT 踢掉。
中文乱码?
主机设置里把终端编码切到 UTF-8(老系统可能是 GBK / GB18030 / Big5),再在服务器上确认 echo $LANG 是 zh_CN.UTF-8。
上传大文件失败?
在线编辑有文件大小限制(默认 1MB),单纯传输不受限制。超大文件建议直接用 scp / rsync,或者走 SFTP 面板的队列传输。
界面上的密码为什么看不到?
设计上就是不下发。列表接口只返回「有没有设过密码」,需要用时才按单条从主进程取,取完即用不缓存。
能同时开多少连接?
没有硬性上限,取决于本机内存和服务器承载能力。实际使用中同时开几十个 SSH 会话没有问题。