Shellvana 文件
Shellvana 是適用於手機的 SSH 用戶端。它透過標準 SSH 連線到你自己的伺服器,並把輸出轉成好讀的文字。本頁說明設定方式與日常使用。
你需要準備
- 一支手機。iOS 15 以上的 iPhone,或任何 Android 手機。
- 一台執行標準
sshd的主機。任何你已經能用ssh連上的 Linux、BSD 或 macOS 機器都可以。伺服器上不用安裝任何東西:不需要 agent、daemon 或外掛。 - 能連到該主機的網路路徑。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 版本,或參閱支援頁面。