常见问题
关于 Termlet
Termlet 是什么?
Termlet 是 SSH 客户端,支持 Windows、macOS(Apple 芯片)与 Linux,也支持 Telnet 与串口,带 SFTP 文件管理、端口转发与本地终端(Windows 上还有 WSL)。界面与核心都用 Rust 编写,整个应用是一个进程。
它附带 termlet 命令行工具:Claude Code 等 AI 工具可以借它在你保存的服务器上执行命令、上传下载文件,密码和私钥始终留在 Termlet 里。
免费吗?要注册账号吗?
目前免费,不需要账号。可以在任意数量的电脑上安装,用于个人或工作用途。
Termlet 按它自己的软件许可协议授权(不是开源许可),以你下载的版本附带的协议为准。其中的第三方组件(GPUI 等开源库、JetBrains Mono 字体、终端配色)按各自的许可协议授权,许可文本在程序附带的 licenses 文件夹中(Windows 在安装目录中,macOS 在 Termlet.app 的 Contents/Resources 中,Linux 在解压出的目录中)。
Termlet 开源吗?以后会开源吗?
现阶段闭源,是否开源以后再定。如果以后开源,代码会放在 GitHub 上的公开仓库 termlet/termlet 中;现在那里放的是安装包、更新日志、许可协议与反馈渠道。
闭源的程序能不能放心用,可以看下面几个问题:数据存在哪里、凭据怎样加密、AI 能拿到什么,以及怎样核对下载的文件确实来自 Termlet 的发布者。
和 Xshell、MobaXterm 等有什么不同?
日常用的功能大多都有:多 Tab 与分屏、SFTP、端口转发、rz / sz、GBK 与 Big5 编码、跳板机与代理、被 JumpServer 等堡垒机调起。从这些客户端换过来:
- 导入会话:Xshell、MobaXterm、FinalShell、Tabby、Termora、WindTerm 与
~/.ssh/config(见“怎样从其他客户端导入主机”)。 - 熟悉的快捷键:Windows、Linux 上可以在设置的“快捷键”中一键换成 Xshell 或 MobaXterm 的键位;macOS 上照 Terminal.app、iTerm2 的习惯用 ⌘(见“macOS 上的快捷键是怎样的”)。
- 熟悉的操作:Xshell 的撰写栏(写好命令再发给多个终端)与复制会话(共用连接,不用再输密码和验证码),MobaXterm 的 MultiExec(Termlet 中叫同步输入),SFTP 双栏。
- 带上配色:可以导入 Xshell(
.xcs)、MobaXterm、Windows Terminal、iTerm2 等的终端配色。
Termlet 自己的特点:
- 给 AI 用的命令行工具:默认关闭,逐台主机授权,危险命令先问你,每次调用都有记录(见“AI 与命令行工具”)。
- 轻:0.1.0 的 Windows 安装包约 17 MB,在作者的电脑(Windows)上实测冷启动约 0.3 秒。
- 同步不经过 Termlet 的服务器:写到你自己的网盘文件夹或 WebDAV,整个文件用你的同步密码加密。
- 不需要账号,可以免费用于工作。
现在还没有的:Intel 芯片的 Mac 与 ARM 架构的 Linux 版(见“支持哪些系统”)、RDP / VNC、插件。Termlet 本身也不内置 AI 助手,不调用任何大模型。
能配合 JumpServer 等堡垒机用吗?
能。JumpServer、绿盟 OSMS 等堡垒机在网页上点“连接”时,会按 Xshell、PuTTY、SecureCRT、MobaXterm、WinSCP 或 Xftp 的启动参数调起本地客户端;在堡垒机的本地客户端设置中,把其中一个软件的路径换成 Termlet(Windows 上默认为 %LOCALAPPDATA%\Programs\Termlet\Termlet.exe)即可。这样打开的是临时连接:不保存到主机列表,密码只留在内存中,主机指纹照常确认。
只支持 aes128-cbc、3des-cbc 等旧算法的老堡垒机、交换机,可以在主机的“连接”页勾选“兼容旧设备”。
安装与更新
支持哪些系统?
| 平台 | 要求 | 下载的文件 |
|---|---|---|
| Windows x64 | Windows 10 1809(内部版本 17763)及以上 | termlet-<版本>-win-x64.exe(安装向导) |
| macOS(Apple 芯片) | macOS 11 及以上 | termlet-<版本>-mac-arm64.zip(其中是 Termlet.app) |
| Linux x64 | glibc 2.35 及以上(Ubuntu 22.04、Debian 12 及更新的发行版),X11 或 Wayland 的桌面会话 | termlet-<版本>-linux-x64.tar.gz |
三个平台同时发布、版本相同。macOS 只有 Apple 芯片版;Linux 只有 x64 的 tar.gz,没有 deb、rpm、AppImage 与 Flatpak。
macOS、Linux 版由 CI 构建并通过了自动测试,但还没有在真机上测试过,遇到问题请在 GitHub 上 termlet/termlet 的 Issues 中反馈。这两个平台不自动安装更新(见“怎样更新”),也没有 Windows Hello 解锁与 WSL。
macOS 上的快捷键照 Terminal.app、iTerm2 的习惯用 ⌘(列表见下一题)。现在的限制:Option 不能当 Meta 键用(Option 加字母输入组合字符,要发 ESC 前缀可先按 Esc),关闭最后一个窗口时 Termlet 随之退出(不留在程序坞中),从程序坞或关机、注销时退出不会先确认未断开的连接与未完成的传输(⌘Q 与菜单中的“退出 Termlet”会),也不提供 Xshell、MobaXterm 的键位方案。
macOS 上的快捷键是怎样的?
照 Terminal.app、iTerm2 的习惯用 ⌘:
| 操作 | 快捷键 |
|---|---|
| 复制、粘贴 | ⌘C、⌘V |
| 新开本地终端 | ⌘T |
| 关闭 Tab | ⌘W |
| 切换 Tab | ⌘1–9,⇧⌘] / ⇧⌘[ |
| 分屏 | ⌘D |
| 清屏 | ⌘K |
| 搜索 | ⌘F |
| 命令面板 | ⇧⌘P |
| 打开设置 | ⌘, |
| 退出、隐藏、最小化 | ⌘Q、⌘H、⌘M |
| 关闭窗口 | ⇧⌘W |
Control 组合都交给终端(⌃C、⌃R 等给 shell)。Option 加字母输入组合字符,不能当 Meta 键用;要发 ESC 前缀,先按 Esc。SFTP 的文件列表照 Finder 的习惯。快捷键可以在设置的“快捷键”中修改。
安装需要管理员权限吗?
不需要。
- Windows:安装向导只为当前用户安装,默认装在
%LOCALAPPDATA%\Programs\Termlet,可以改位置(升级时沿用原来的位置),并创建开始菜单与桌面快捷方式。安装目录中是Termlet.exe与命令行工具bin\termlet.exe。卸载时会从 PATH 中移除termlet命令,删除快捷方式与更新缓存。 - macOS:解压后把 Termlet.app 拖进“应用程序”,第一次打开时要放行一次(见“macOS 提示无法打开 Termlet 怎么办”)。删除 Termlet.app 即卸载。
- Linux:解压后直接运行
./Termlet;包中的./install.sh只改当前用户的目录(应用菜单、图标与~/.local/bin/termlet),不需要 root。卸载时先运行./install.sh --uninstall,再删除解压出的目录。
卸载都不会删除你的数据目录(见“我的数据存在哪里”)。
怎样核对下载的文件?
每个版本都附带 SHA256SUMS(这个版本各平台的包与版本描述文件 latest.yml、latest-mac.yml、latest-linux.yml 的 SHA-256)和它的签名 SHA256SUMS.minisig,在下载页与 GitHub Releases 上都能下载。签名为 minisign 格式,在用的公钥是:
RWRSYxplUItTcPz4ZAEBJVcK0n3Sy1xPjhO3CNJIVFxbazT7cXsPacBG
-
安装 minisign(Windows:
scoop install minisign或choco install minisign;macOS:brew install minisign;Linux:发行版的软件包,如sudo apt install minisign),把SHA256SUMS、SHA256SUMS.minisig与下载的包放在同一个文件夹,在其中运行:minisign -Vm SHA256SUMS -P RWRSYxplUItTcPz4ZAEBJVcK0n3Sy1xPjhO3CNJIVFxbazT7cXsPacBG显示
Signature and comment signature verified,并且下一行Trusted comment: termlet-sha256sums <版本>中的版本号就是你下载的版本,才算通过。 -
用
SHA256SUMS核对下载的包:Linux、Git Bash 或 WSL 中运行sha256sum -c SHA256SUMS --ignore-missing,macOS 上运行shasum -a 256 -c SHA256SUMS --ignore-missing,下载的那个文件一行显示OK;或者在 PowerShell 中运行Get-FileHash .\termlet-<版本>-win-x64.exe,与SHA256SUMS中这个文件的那一行比较(不分大小写)。
SHA-256 一致只说明文件下载完整;签名通过才说明文件来自 Termlet 的发布者。公钥以 GitHub 上 termlet/termlet 仓库的 SECURITY.md 为准,以后轮换密钥时会在那里与更新日志中公告。在用的与离线备用的两把公钥及其密钥 ID 也列在下载页上。
Windows 提示“Windows 已保护你的电脑”怎么办?
安装包暂时没有代码签名,Windows SmartScreen 认不出发布者,第一次运行时可能这样提示;用 Edge 等浏览器下载时,也可能提示这个文件不常被下载。
先确认文件来自官方的下载地址(termlet.dev 的下载页,或 GitHub 上 termlet/termlet 的 Releases),并按上一个问题核对通过,再点“更多信息”→“仍要运行”。
装好以后的更新由 Termlet 自己下载,安装前会校验签名,不用每次手动核对。
macOS 提示无法打开 Termlet 怎么办?
macOS 包只做了 ad-hoc 签名(没有 Apple 开发者证书,也没有经过公证),第一次打开时 macOS 会拦下,提示无法验证开发者,或者 Apple 无法检查它是否包含恶意软件。
先确认文件来自官方的下载地址(termlet.dev 的下载页,或 GitHub 上 termlet/termlet 的 Releases),并按“怎样核对下载的文件”核对通过,再到“系统设置 → 隐私与安全性”中找到关于 Termlet 的提示,点“仍要打开”;也可以在终端中运行:
xattr -dr com.apple.quarantine /Applications/Termlet.app
之后再打开就不会拦了。下载新版本替换 Termlet.app 后,同样要放行一次。
Linux 版怎么安装?打不开怎么办?
解压后直接运行 ./Termlet。想加进应用菜单,运行包中的 ./install.sh(不需要 root),它还把命令行工具链接为 ~/.local/bin/termlet;移动目录后重新运行一次。
打不开时多半是缺少运行时用到的库:libxcb、libxkbcommon、libxkbcommon-x11 与显卡驱动(Vulkan,没有时尝试 OpenGL ES)。Debian / Ubuntu 上缺少时:
sudo apt install libxcb1 libxkbcommon0 libxkbcommon-x11-0 mesa-vulkan-drivers
还要求 glibc 2.35 以上(Ubuntu 22.04、Debian 12 及更新的发行版)与 X11 或 Wayland 的桌面会话。没有 Secret Service(GNOME 钥匙串、KWallet 等)时,Termlet 改为让你设置主密码,每次启动时输入。
Linux 版还没有在真机上测试过,遇到问题请在 GitHub 上 termlet/termlet 的 Issues 中反馈,附上在终端中运行 ./Termlet 时的输出。
怎样更新?
设置的“关于”中“自动检查更新”默认开启,Termlet 启动后自动检查,也可以随时点“检查更新”。
- Windows:用安装程序装的 Termlet 会在后台下载新版本,下载好后标题栏会提示,点它(或“关于”中的“重启并安装”)即重启安装;不点就在退出时安装。不是用安装程序装的只提示有新版本,点“前往下载”打开下载页。
- macOS、Linux:只提示有新版本,点“前往下载”打开下载页,下载后手动替换(macOS 替换 Termlet.app,Linux 替换解压出的目录,用过
install.sh的再运行一次),数据不受影响。
各平台的版本描述文件都带有发布时用离线私钥做的签名,Termlet 用内置的公钥校验通过才下载或提示新版本,Windows 上安装前再核对一次安装包;签名不对时停止更新,并提示你手动下载。
不想自动检查,关掉“自动检查更新”即可。
数据与安全
我的数据存在哪里?
都在你的电脑上。数据目录在 Windows 上是 %APPDATA%\termlet,macOS 上是 ~/Library/Application Support/termlet,Linux 上是 ~/.config/termlet:主机、设置与加密后的凭据在其中的 data.db,日志、本机快照与会话日志也在这个目录中(会话日志的位置可以改)。加密凭据用的主密钥在系统钥匙串中(Windows 凭据管理器、macOS 钥匙串、Linux 的 Secret Service,如 GNOME 钥匙串、KWallet);不可用时(例如 Linux 上没有 Secret Service)改用你设置的主密码,每次启动时输入。
- Termlet 会把数据目录限制为只有当前用户能访问。
- 设置环境变量
TERMLET_DATA_DIR可以把数据目录换到别处。 - 卸载 Termlet 不会删除数据目录。
Termlet 会联网发送什么?
你的主机、凭据、命令、终端内容和文件只在你的电脑上(开启云同步时,加密后写到你自己选的位置),不经过我们的服务器。我们收到的只有两样:默认开启、可以关闭的匿名使用统计,以及你开启后才会发送的崩溃报告。
使用统计默认开启,Termlet 不会为此弹出提示,装好以后就照常发送;随时可以在设置的“关于”中关掉“发送匿名使用统计”,也可以点“查看发送的内容…”看将要发送的原文。
什么时候联网、统计里有什么,见隐私说明。
密码和私钥安全吗?
- 密码、私钥、私钥密码、验证码(TOTP)密钥等凭据用 AES-256-GCM 加密后存进数据库,主密钥在系统钥匙串中(见“我的数据存在哪里”)。导入密钥库的私钥也加密保存在库里,不另存成文件。
- 日志中不记密码、私钥、验证码与命令内容;诊断信息不含主机地址、凭据与命令内容。
- 命令历史加密保存在本机,不参与同步,命令行工具与 AI 看不到。
- 首次连接时请你确认主机指纹;指纹变了会拒绝连接,并说明风险。
- 可以开启应用锁(锁定密码,Windows 上也可以用 Windows Hello),离开电脑时别人用不了已经打开的 Termlet。
做不到的也说清楚:应用锁不防御在这台电脑上以你的身份运行的程序;在主机上保存了验证码密钥后,两步验证实际只剩一步。
AI 与命令行工具
AI 怎么用 Termlet?
- 在设置的“命令行工具”中勾选“启用外部 CLI”(默认关闭)。
- 编辑要交给 AI 的主机,勾选“允许 Termlet 命令行访问”。第一次用的主机要先在 Termlet 中连接一次,确认主机指纹。
- 安装 Agent Skill:在设置的“命令行工具”中一键安装到 Claude Code、通用目录(Codex、Gemini CLI、Cursor、GitHub Copilot 等读取)或 WorkBuddy;也可以在命令行中运行
termlet skill install(termlet要在 PATH 中:Windows 上在同一页点“加入 PATH”;macOS、Linux 上按同一页给出的命令链接,Linux 包中的install.sh已把它链接为~/.local/bin/termlet)。之后 AI 会用termlet而不是直接 ssh 操作服务器。 - 让 AI 去做事,它会运行这样的命令:
termlet ls # 列出允许命令行访问的主机
termlet exec web-01 "systemctl status nginx" # 执行命令,退出码透传
termlet upload web-01 ./app.tar.gz /tmp/ # 上传单个文件
termlet download web-01 /var/log/syslog . # 下载单个文件
Termlet 没有打开时,termlet 会在后台启动它(不打开窗口,10 分钟没有请求后退出);也可以在设置中改为只在 Termlet 打开时可用。需要输入验证码的主机不能经命令行工具使用。
为什么说 AI 用起来安全?
AI 只能经 termlet 请 Termlet 替它连接、执行,拿到的是命令的输出:
- 凭据留在 Termlet 里:AI 看不到密码、私钥与验证码。
- 默认关闭,逐台授权:只有勾选了“允许 Termlet 命令行访问”的主机能用。还可以为命令行工具单独设一个用户名与密码或密钥,推荐用服务器上的低权限账号。
- 危险命令先问你:内置 15 条规则(
rm -rf /、mkfs、shutdown等),加上你自己写的正则;命中时 Termlet 弹窗请你批准,拒绝或 60 秒没有处理就不执行。 - 每次调用都有记录:每次
exec、upload、download,包括失败、被拦截与被拒绝的,都记进本机的审计日志(命令原文、结果、退出码、耗时、调用方的进程链),可以搜索、导出。
要说明的是:危险命令规则只用来防误操作,可以被绕过,不是安全边界。AI 能在你允许的主机上执行命令,真正的权限边界在服务器上,所以建议给命令行工具一个低权限账号。
迁移与同步
怎样从其他客户端导入主机?
主机列表工具栏的“更多”→“导入主机…”,选择来源:
~/.ssh/config(ProxyJump导入为跳板机,ProxyCommand导入为代理命令)- Xshell 的会话目录
- FinalShell 的连接目录
- MobaXterm(
MobaXterm.ini、导出的.mxtsessions,或安装版保存在注册表中的书签) - Tabby(
config.yaml) - Termora 2.x(数据目录
~/.termora) - WindTerm(程序目录、
.wind数据目录或其中的user.sessions)
选好后先预览:同一地址、端口与用户名的主机可以合并或跳过,可以搜索、筛选、挑选要导入的;没有导入的内容会逐台说明。一般只导入主机信息,不导入密码;Termora 与 WindTerm 会一并导入保存的密码与私钥。
另一台电脑上的 Termlet 导出的主机文件(.termlet-hosts)也从这里导入。
换了电脑怎么迁移?
两种办法:
- 完整备份:在设置的“备份”中点“创建备份…”,设一个备份密码(至少 8 个字符),得到一个
.termlet-backup文件;在新电脑上点“从备份恢复…”。备份中有主机、分组、凭据、密钥、快捷命令、端口转发、工作区、终端配色、设置、主机指纹与命令历史,整个文件用备份密码加密。忘了备份密码就解不开。 - 同步:两台电脑设成同一个同步位置与同步密码(见下一个问题),之后一直保持一致。
不要直接拷贝数据目录:主密钥在原来那台电脑的系统钥匙串中,拷过去的密码与私钥解不开。每天自动保存的本机快照也只能在原来那台电脑上恢复。
怎样在多台电脑之间同步?
在设置的“同步”中选一个同步位置,设置同步密码后点“开始同步”;其他电脑选同一个位置、输入同一个同步密码即可。同步位置可以是:
- 本机文件夹:放在 OneDrive、坚果云、iCloud 等网盘的同步目录中,由网盘在电脑之间传送;也可以是 U 盘。
- WebDAV:例如坚果云(地址
https://dav.jianguoyun.com/dav/<目录>/,用应用密码)、Nextcloud、群晖。
同步主机、分组、凭据、密钥、凭据档案、快捷命令、端口转发、工作区、终端配色与大部分设置;命令历史、审计日志、主机指纹与只属于这台电脑的设置(本地终端、应用锁等)不同步。
- 端到端加密:同步位置中只有一个文件,整个文件用同步密码加密后才写入(Argon2id + AES-256-GCM),存放的地方看不到主机名、地址等任何内容,同步也不经过 Termlet 的服务器。同步密码忘了就解不开。
- 按条目合并:只有一边改的采用那边;两边改了同一条时采用较新的修改,并在“同步”中列出,可以改用另一边。写入其他电脑的修改之前,先保存一份本机快照,可以回退。
- 自动同步:默认开启,启动 1 分钟后、本机修改后约 20 秒,以及每 10 分钟同步一次。
注意:一台电脑升级 Termlet 后,其他电脑也要升级才能继续同步;WebDAV 只支持 Basic 认证。
反馈与支持
怎样反馈问题或提建议?
- 问题报告、功能建议:在 GitHub 上 termlet/termlet 仓库的 Issues 中新建,按模板填写。报告问题时请附上诊断信息:在设置的“关于”中点“复制诊断信息”,其中有版本、运行环境、设置摘要与日志末尾,不含主机地址、凭据、命令内容与审计日志。
- 使用中的疑问、想法与交流:到同一个仓库的讨论区(Discussions)。
- 不论在哪里反馈,都不要贴出密码、私钥、令牌与验证码密钥;日志、截图中的主机地址与用户名也可以先遮掉。
Termlet 由一人开发与维护,回复可能会慢一些。
怎样报告安全漏洞?
请不要在 Issues、讨论区等公开的地方报告。在 GitHub 上 termlet/termlet 仓库的 Security 页点“Report a vulnerability”私下报告,只有你和维护者能看到。请写明受影响的版本与系统、问题出在哪里、复现步骤与你认为的影响;不要附带真实的密码、私钥或服务器地址。
通常在 7 天内回复。修复随新版本发布,同时发布安全公告;安全修复只提供给最新发布的版本。危险命令规则可以被绕过、应用锁不防御本机以你的身份运行的程序,这两点是写明的设计边界,绕过它们的写法请提普通的 Issue。完整的流程见仓库中的 SECURITY.md。
没有找到答案?写信到 [email protected]。