Termiyo

文档

Termiyo,从头到尾

短小的篇章,按你会用到的顺序排列。

开始使用

安装 Termiyo

在下载页面取适合你电脑的版本:Mac 用 Universal .dmg,Windows 用安装程序,Linux 用你发行版的软件包。下载页面也写明了每个系统上怎样校验和安装。

创建你的保险库

第一次打开 Termiyo 时,它会要求一个主密码。应用存的一切都只靠这一样东西保护,它不会被发送到任何地方,而且没有任何找回途径——请用几个互不相关的词组成的口令。

添加一个身份

身份就是用户名加上认证方式:密码、私钥或代理。身份与主机分开,所以同一个登录可以在整个机群上使用,不必重复输入。

添加一台主机

给它一个地址,选一个身份。双击即可连接。第一次连接会显示服务器密钥的指纹;接受它就把这个密钥固定下来,之后每次重连都按它核对。

跳板机

连到一台私有主机

打开主机,展开 Advanced,选一台跳板机。Termiyo 先连到堡垒机,再通过它开一条通道到目标——目标完全不需要从你的机器可达。

链路

跳板机自己也可以有跳板机。Termiyo 在拨号前会把整条路径展平,拒绝成环的链路,并在某一跳失败时指出是哪一跳。

端口转发

本地

在你的机器上监听,在服务器那一侧投递。最常见的情形是访问一个在主机上只绑定 localhost 的数据库。

远程

反过来:服务器监听,连接回到你机器上的某个端口。适合把本地构建展示给只能访问服务器的东西。

动态(SOCKS5)

Termiyo 在本地跑一个 SOCKS5 代理,把每个连接经由该会话送出去,目标地址在远端解析。把浏览器指向它,你就是在从服务器上浏览。

共享终端

创建链接

在已连接的终端上打开共享面板,创建一个链接。跟着链接进来的人要等你放行,而且以只读方式加入。

允许别人输入

在你打开之前,整个会话都不允许输入;打开之后再逐人授予。再关掉时,会立刻从所有已经拿到的人手里收回。

什么走哪条路

终端数据流直接在两台机器之间传输。我们的服务把你们两个介绍给彼此,之后什么都看不到。链接会在四小时后失效,或者在你停止共享时失效,以先到者为准。

同步

登录

Settings,Sync。用那个已经能解锁你保险库的密码——Termiyo 会从它派生出两个独立的密钥,一个留在本地,另一个服务器可以核验,却始终学不到密码本身。

第二台机器

装好 Termiyo,用同一个密码创建保险库,然后登录。你的主机、密钥和代码片段会在第一次同步时到达。除了你自己的机器,任何地方都不会解密。

退出登录

删除的是令牌,不是你的数据。机器上的东西留在机器上,仍然用你的保险库密码加密着。

问一条命令

设置

Settings,AI,以及一个 Anthropic API 密钥。密钥存在你的保险库里,和其他凭据一样被加密。

提问

描述你想做什么。建议会落到你的命令行上供你阅读;Termiyo 从不替你执行。任何会删除、覆盖或停止服务的命令都会被标注出来。

会发送什么

你的问题,以及操作系统——如果登录横幅说明了的话。最近的命令只有在你打开那个选项时才会发送。主机名、用户名、密码和密钥从不发送。

Telnet 和串口

串口控制台

添加主机时选 Serial,Termiyo 会列出它能看到的端口。多数控制台端口用 9600 的 8-N-1;速率选错不会报错,而是输出乱码——所以如果输出看起来不对,先检查这个。

发送 break

break 信号是你打断卡住的引导程序、或让设备进入恢复监视器的方式。从终端里没有别的办法产生它。

Telnet

之所以支持,是因为网络设备往往不会说别的。它没有加密——所有内容,包括密码,都以明文传输。请在管理网络里用它,不要跨越互联网。

从另一个 SSH 客户端导入

从你正在使用的客户端导入

在本机上查找

导入菜单是主机列表上方那个云朵按钮,第一项就是「在本机上查找」。Termiyo 会自己去你已有的工具存放服务器的地方——ssh_config、known_hosts、PuTTY、FileZilla、WinSCP、MobaXterm、JetBrains 的 IDE、Remmina、Tabby、SecureCRT、Cyberduck,以及那些其实就是 ssh 命令的 iTerm2 配置——把找到的连同数量一起列出来,而不是让你自己去翻文件。

有什么会带过来

名称、地址、端口、用户名、跳板机和端口转发。保存的密码也会带过来:来自 FileZilla、WinSCP、JuiceSSH 和 Remmina,进到保险库里加密存放。JetBrains 和 Cyberduck 把密码放在系统 keychain 里,MobaXterm 放在 DPAPI 下,SecureCRT 用它自己的口令保护——这些主机照样会进来,只是第一次连接时会问你一次。任何没能对应上的东西都会连原因一起列出来,而不是悄悄丢掉。

Termius、JuiceSSH 和 PuTTY 需要一个文件

Termius 对留在这台机器上的内容逐字段加密,所以那里没有可读的东西,而它自己的导出功能已经被移除了:文件只能来自你自己运行的社区导出工具——Termiyo 能读它的 JSON 和 CSV,密钥也在内。JuiceSSH 是手机应用,把它的备份拷过来。PuTTY 在 Windows 上把会话放在注册表里,先用 regedit 导出;在 macOS 和 Linux 上 ~/.putty/sessions 可以直接读。把文件放进下载文件夹,你回来时 Termiyo 会按名字主动把它递给你。

在你看过之前不会写入任何东西

预览会告诉你将要创建什么、你已经有什么、以及什么没能带过来,这些都在动保险库之前。同一个文件再导入一次,会更新你已有的主机,而不是加上第二份副本。

SSH 证书

粘贴证书

打开设置 → SSH 密钥,选中密钥,把证书颁发机构签发的 -cert.pub 行粘贴到“证书”栏。Termiyo 会显示它允许谁登录、有效期到何时以及强制执行的命令,密钥列表会显示它何时过期。主机证书在保存前就会被拒绝;只要能确定这是哪个密钥,为另一个密钥签发的证书也会被拒绝——Termiyo 保管的密钥总能确定,代理中的密钥在你填写其公钥后即可确定。

代理中的证书

SSH 代理持有的证书会自动提供,无需粘贴。Termiyo 在连接前会先询问代理持有哪些证书。

导入会一并带入

导入 ssh_config 会带入每个密钥的 CertificateFile 以及旁边的 -cert.pub,选择密钥文件导入时也一样。为另一个密钥签发的证书、主机证书或已过期的证书不会被关联,预览会说明原因。只有勾选相应的选项,证书才会加到你已有的密钥上。

Mosh 也可以

Mosh 主机会像 SSH 主机一样用你的证书登录。如果证书强制执行某条命令,主机会执行它而不是 mosh-server,Mosh 就无法启动;Termiyo 会指出这很可能是原因。安全密钥证书不会用于 Mosh 登录,因为它无法等待触摸——这类证书请使用 SSH。

从 AWS 导入

需要什么

一个带 ec2:DescribeInstances 权限的访问密钥,别的都不需要。凭据只用于这一次调用,不会被保存。

会得到什么

你选择的区域里每个运行中的实例,包括没有公网地址的那些——那些正是你要通过堡垒机去连的。勾选你想要的。

再跑一次

重新导入会更新你已有的主机,而不是加上第二份副本,而且不会动你给它们指定的身份。

代码片段

保存一条命令

代码片段就是你留下来的命令,按文件夹归类。运行一个片段,会把它输入到你眼前的终端里。

片段里的值

在需要值的地方写上 ${name},然后在编辑器里为每个值选择填法:“每次都询问”(可设默认答案或允许的答案列表)、“从主机填入”(主机的地址、端口或登录名),或“交给 shell”,用于 shell 本来就有的值,例如 ${PATH}。片段绝不会在缺少值的情况下运行:在每个值都有答案之前,“执行片段”一直不可用。桌面应用下次会提供你上次的答案;机密值从不保存。