Shellvana 文档
Shellvana 是一款手机上的 SSH 客户端。它通过标准 SSH 连接你自己的服务器,并把输出渲染成可读的文字。本页介绍设置方法和日常使用。
你需要准备
- 一部手机。iOS 15 或更高版本的 iPhone,或者一部 Android 手机。
- 一台运行标准
sshd的主机。任何你已经能用ssh连上的 Linux、BSD 或 macOS 机器都可以。服务器上无需安装任何东西:不需要 agent、守护进程或插件。 - 通往该主机的网络路径。Shellvana 从你的手机直接连接到你输入的地址。如果主机只能在家庭网络中访问,请先通过你自己的 VPN(WireGuard、Tailscale 或类似工具)连入。Shellvana 中间没有任何中继或云服务。
安装
从 App Store 或 Google Play 获取 Shellvana。应用免费,无需创建账号,也不用登录。
添加主机
- 在主机列表中点按+,打开添加主机。
- 填写名称(随便起一个标签)、主机(地址或主机名)、端口(通常是 22)和用户。
- 在认证下选择密码或你的某个 SSH 密钥。如果你还没有密钥,列表里只会有密码。参见 SSH 密钥。
- 在网格下选择 Shellvana 向服务器请求的终端尺寸。控制台是 132 列 × 40 行,适合日常 shell 操作。AI 助手是 60 列 × 40 行,适合会绘制侧边栏的全屏终端助手。自定义可以让你自己设置列数和行数。
- 点按保存,再点按这台主机进行连接。
首次连接与主机密钥
首次连接时,Shellvana 会显示服务器的主机密钥算法和指纹,并询问信任此主机?请把指纹与服务器上的核对,例如用 ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub,然后点按信任。
Shellvana 会记住这个密钥。如果服务器日后给出不同的密钥,你会看到警告:主机密钥已更改,其中列出旧指纹和新指纹,而且除非你输入主机名来接受新密钥,否则会话不会打开。如果你没有重装或更换过服务器的密钥,请不要接受。
脆弱或过时的主机密钥算法会被拒绝。如果你看到“不允许使用主机密钥算法 ...”,请在服务器上启用 Ed25519 等现代主机密钥。
阅读会话
- 阅读视图。每个会话都默认在阅读视图中打开。文章和 Markdown 会重新排版为适合手机的比例字体。表格、diff、树状输出以及一切按列对齐的内容,保持等宽字体和精确的间距。
- 终端视图。点按顶部栏的终端图标,可以看到服务器发来的确切网格。点按阅读图标即可返回。两个视图显示的是同一个会话,来回切换不会丢失任何内容。
- 阅读字体与字号。点按顶部栏的阅读字体图标,可以更改字体和阅读字号。
- 全屏程序。
vim、htop和tmux等程序可以正常运行。当某个程序占满屏幕时,Shellvana 会提示它的布局需要网格,并提供一个网格按钮。 - 链接。输出中的链接只有在你确认目的地之后才会打开,而且会在应用之外,用你自己的浏览器打开。
输入命令
- 在底部的输入框(输入命令)中输入,然后点按发送按钮。
- 输入框上方的按键行可以发送手机键盘上没有的按键,例如 Ctrl-C、Tab、Esc、方向键、Ctrl-D 和 Ctrl-Z。
- 当输出看起来像是密码提示时,Shellvana 会提供安全输入。以这种方式输入的文字会发送到服务器,但不会被保存,也不会进入会话记录。
SSH 密钥
在主机列表中打开菜单(三个点),选择 SSH 密钥。
- 导入密钥。点按导入,粘贴 OpenSSH 私钥,如果它有口令就输入口令。密钥会加密保存在设备上。
- 生成硬件密钥(Pro)。生成安全密钥会在手机的安全硬件内部创建密钥:iPhone 上是 Secure Enclave,Android 上是 StrongBox 或硬件支持的 keystore。私钥的那一半无法离开设备。这些密钥是 ECDSA P-256,在服务器上显示为
ecdsa-sha2-nistp256。 - 把公钥安装到服务器上。打开该密钥的菜单,选择复制公钥,然后把这一行添加到服务器上你所用用户的
~/.ssh/authorized_keys中。第一次需要用密码连接来完成这一步。 - 使用密钥。编辑主机,在认证下选择该密钥,替换密码。
断线后保住你的工作
手机会断开连接:锁屏、网络切换、应用进入后台,都可能导致。Shellvana 重新连接后,服务器会给你一个全新的 shell。旧 shell 里正在运行的一切都会丢失,除非它当时运行在终端复用器里。
对于任何长时间运行的任务,请在服务器上的 tmux 或 screen 里启动。例如,连接后运行 tmux new -A -s main。如果连接断开,重新连接并运行同一条命令,就能接着上次的进度继续。
每台主机的安全设置
- 连接前需要解锁。默认关闭。为某台主机打开后,Shellvana 会在打开会话之前,要求你验证指纹、面容或屏幕锁。
- 阻止截图。默认开启。会话的截图和应用切换器预览都会被阻止。你可以按主机单独关闭。
- 无痕连接(Pro)。在主机菜单中,它会打开一个完全不写入会话记录的会话。
历史记录与你的数据
- 会话记录只保存在手机上,并用 SQLCipher 加密。超过 30 天的会话记录会自动删除。
- 要删除某台主机已保存的会话记录,请打开该主机的菜单,选择清除此主机的历史记录。要删除全部记录,请打开主菜单,选择清除所有历史记录。
- 删除主机只会把它从列表中移除,但会保留它已保存的会话记录和已信任的主机密钥。如果想一并清掉,请先清除历史记录。
- Shellvana 没有账号,没有统计分析,也没有崩溃报告。隐私政策列出了应用建立的每一个网络连接。
免费版与 Pro 版
- 免费版。一个在线会话、密码认证和密钥认证、主机配置,以及完整的可读渲染。好读,不是收费的部分。
- Pro 版。只需一次性购买,不是订阅。它增加了最多四个并发会话、硬件密钥认证、全部阅读字体和无痕会话。
- 购买或恢复。在主机列表中打开菜单,选择 Shellvana Pro。换了新手机,就在那个面板上点按恢复购买。
故障排查
- 连接超时。先确认手机根本能访问到该主机。如果主机在私有网络中,请先打开你的 VPN,并检查端口是否与
sshd监听的端口一致。 - 密钥被拒绝。确认通过复制公钥得到的公钥,已经以单独一行的形式写入主机配置中所指定用户的
~/.ssh/authorized_keys,并且服务器允许这种密钥类型。 - 某个程序在阅读视图里布局不对。切换到终端视图。全屏程序是按网格绘制的,而网格显示的永远是精确的输出。
- 全屏助手显示不全。编辑主机,把网格改为AI 助手,然后重新连接。
- “没有找到此前的购买记录。”确保手机登录的是购买 Pro 时所用的同一个 App Store 或 Google Play 账号,然后再试一次恢复购买。
获取帮助
请发邮件到 [email protected],附上你的设备型号以及 iOS 或 Android 版本,也可以查看支持页面。