Berth 使用說明書
SFTP · 終端機 · 序列主控台,盡在一個視窗——從新增伺服器到快速鍵
🚀快速開始
畫面配置
一個視窗裡有四個區域。
- 站台側邊欄 — 位於左側。伺服器、序列主控台與資料夾以樹狀結構呈現。
- 工作階段欄 — 目前已連線的工作階段。以色帶區分屬於哪台伺服器。
- 工作區 — 上方是檔案面板(本機、遠端),下方是終端機。拖曳分隔線可調整比例。
- 狀態列 — 位於最下方,顯示目前發生的狀況。
新增第一台伺服器
- 在側邊欄的空白處按右鍵,或按下 ⌘N。
- 輸入名稱與伺服器位址。使用者、連接埠留空則使用預設值。
- 在清單中點按兩下即可連線。點按一下則是選取。
ssh alias 連線,就不必重新設定。透過側邊欄選單的從 ~/.ssh/config 匯入(⌘⇧I)一次全部匯入。也可以匯入 FileZilla 的站台清單。切換語言
從選單的Berth › 設定(⌘,)中挑選 20 種語言之一。預設會跟隨系統語言,所選的語言只套用在這個應用程式。變更後重新啟動應用程式即可生效。
🗂伺服器與資料夾
用資料夾分組與繼承設定
用資料夾(⌘⇧N)將伺服器分組後,設定會向下繼承。只要在資料夾上設定一次使用者名稱或注意等級,底下的所有伺服器都會套用。這個機制就是為了不必在二十台伺服器上重複輸入同一個值二十次。
設定視窗的每一欄都會在下方標示該值來自何處(是自己設定的,還是從哪個資料夾繼承的),並提供還原按鈕,可以退回繼承值。
注意等級 — 開發 · 預備 · 正式
等級優先於顏色。設為正式後,危險操作前會額外確認。在工作階段清單中以你選擇的顏色填滿,並以紅色邊框標示為正式,因此多個正式伺服器仍可用顏色區分。在一次只顯示一個的地方(例如確認對話框),它維持紅色作為強烈提醒。
點按規則
- 一下 — 選取(用於查看設定或移動項目)
- 兩下 — 伺服器會連線,資料夾會展開/摺疊
- 資料夾前的三角形按一下即可展開。
🔑連線與驗證
第一次連線時 — 資料夾權限
Berth 遵守 App Store 的規則(沙盒),不會任意讀取家目錄。第一次開啟伺服器時,會請您選擇存放 SSH 設定、金鑰、known_hosts 的資料夾(通常是 ~/.ssh)一次。選過一次後就會記住,不會再次詢問。如果金鑰放在別處,也可以改選家目錄。
基於同樣的原因,本機檔案面板也以您所選擇的資料夾作為根目錄——可以透過面板標題列的開啟本機資料夾更換,這個選擇同樣會被記住。
讀取 ~/.ssh/config
以別名連線時,會讀取該項目的主機、連接埠、使用者、金鑰檔案、ProxyJump、StrictHostKeyChecking 並套用。即使 Berth 儲存的連接埠已過時,仍以設定檔為準。
ProxyCommand 是啟動外部程式的功能,會被沙盒擋下——跳板主機請改用 ProxyJump 設定。也連不上 ssh-agent,因此會直接讀取金鑰檔案;設有密碼的金鑰會在連線時詢問密碼。驗證方式
- 自動 — 交給 ssh 處理。會依序嘗試所有預設金鑰,若都不行則在終端機中詢問密碼。
- 金鑰檔案 — 只使用指定的那一把金鑰。
- 密碼 — 略過金鑰。
ssh 就能在終端機連上,選「自動」就對了。以為指定金鑰會有幫助,結果反而連不上——因為那樣只會嘗試指定的那一把金鑰。當伺服器詢問時
儲存密碼後,連線時會自動代答一次。除此之外的問題——兩步驟驗證代碼、密碼輸入錯誤後的重新輸入、有密碼保護的金鑰密碼——會原封不動顯示在「伺服器傳來了請求」視窗中,由您親自作答。為避免帳號被鎖定,已儲存的密碼只會自動輸入一次,最多只詢問三次。
不想再手動輸入密碼
在伺服器上按右鍵選擇在此伺服器註冊公鑰…,即可將 ~/.ssh 中的公鑰上傳到伺服器。之後將以金鑰連線。
已儲存的密碼只存在macOS 鑰匙圈中。設定檔裡只留下「已儲存」的標記,不會存入實際的值。
第一次看到的伺服器、變更的主機金鑰
第一次連線的伺服器,會顯示金鑰的種類與指紋並詢問是否記住。選擇記住後,會以與 ssh 相同的格式寫入 ~/.ssh/known_hosts,之後不會再次詢問。
當伺服器的身分與上次不同時,也會出現這個視窗。可能是中間人攻擊,也可能只是伺服器重新安裝過。Berth 不會代您判斷,只提供判斷所需的材料——新舊金鑰的種類與指紋,甚至是可以在裝置主控台上直接核對的指令。確認無誤後按下「刪除舊金鑰並記住新金鑰」,便會刪除舊項目(備份為 known_hosts.old)並寫入新金鑰。
known_hosts 不會被更動。正式等級不能開啟此選項。檔案面板(SFTP)
上傳與下載
左邊是您的 Mac,右邊是伺服器。可以拖放,或用 ⌥⌘→(上傳)、⌥⌘←(下載)傳送。進度會累積在傳輸列中。
跟隨終端機的檔案面板
在終端機中執行 cd 時,遠端面板會跟著切換到同一個資料夾。若這個跟隨動作造成困擾,可用 ⌘⇧L 關閉。
常用路徑 · 檢視
- ⌘D — 將目前路徑釘選或取消釘選。釘選路徑會成為樹狀結構的根節點。
- ⌘↓ — 深入所選的資料夾。⌘↑ 可返回上一層。
- ⌥⌘T — 樹狀 ↔ 清單檢視切換。檔案數以千計的資料夾,用清單檢視較合適。
- ⌘R — 重新讀取。
- ⌘⇧F — 在伺服器上搜尋。不是由應用程式掃描清單,而是由伺服器執行
find。
比對差異
用 ⌘⇧Y 開啟後,會將本機與遠端並排比對,標示出不同的檔案、只存在於一邊的檔案。適合只想傳送需要的部分時使用。
刪除
⌘⌫ 預設會移到伺服器端的廢紙簍,且一律會先詢問確認。若伺服器關閉了廢紙簍功能,會事先提醒此操作無法復原。
⌨️終端機
這是能讓 vim、tmux、less 原封不動運作的真正殼層。 用滑鼠拖曳選取,以 ⌘C 複製,命令貼上時不會帶入行尾多餘的填充空白,乾淨俐落。
貼上確認
貼上多行內容時,會先顯示即將執行的內容。因為含有換行的貼上內容,會直接當場變成指令執行。看起來危險的內容會連同原因一併標示出來。
放大檢視
用 ⌘↩ 放大目前的區域,再按一次即可還原。⌥⌘↩ 只放大單一面板。字級大小為 ⌘+、⌘-、⌘0。 用 ⌘L 清空終端機——畫面與捲動記錄會清除,只留下目前的提示行。
🔌序列主控台(UART)
選擇裝置
用 ⌃⌘N 新增序列主控台,並在設定中選擇已插入的裝置。Berth 記住的不是路徑,而是裝置本身——有序號就以序號辨識,沒有就以種類辨識。就算插到不同的 USB 位置,也能找到同一個裝置。
速度與線路設定
速度可以從清單中選擇,也可以直接輸入(像 1,500,000 這樣超出標準的值也可以——但必須是轉接器能接受的值)。預設為8N1 · 無流量控制,大部分的主控台都是這個值。
- 流量控制 — 只有在使用四線纜線(RTS/CTS)時才開啟。三線纜線開啟反而會卡住。
- 進階(同位檢查 · 位元) — 按一下該列即可展開。僅在如 STM32 開機載入程式(8E1)等特殊情況下才需要使用。
紀錄面板
在序列工作階段中,您輸入的指令與其回應會連同時間一併累積在右側。詢問密碼處的輸入內容會被遮蔽。
⚡快速鍵
應用程式的快速鍵一律包含 ⌘。⌃、⌥ 組合鍵屬於殼層與 TUI(vim、tmux)使用,應用程式不會佔用。
| 按鍵 | 功能 |
|---|---|
| ⌘N · ⌃⌘N · ⌘⇧N | 新增伺服器 · 新增序列主控台 · 建立資料夾 |
| ⌘I · ⌘⇧I | 此伺服器設定 · 從 ~/.ssh/config 匯入 |
| ⌘K | 快速前往 — 依名稱搜尋並直接跳轉 |
| ⌘1 … ⌘9 | 切換工作階段 |
| ⌃⌘← → ↑ ↓ | 在面板之間移動 |
| ⌘↩ · ⌥⌘↩ | 放大 / 還原 · 只放大此面板 |
| ⌘⇧S · ⌥⌘↑ ⌥⌘↓ | 側邊欄 · 移動分隔線 |
| ⌥⌘→ · ⌥⌘← | 上傳 · 下載 |
| ⌘D · ⌘R · ⌥⌘N | 釘選 / 取消釘選 · 重新讀取 · 新增資料夾 |
| ⌘↓ · ⌘↑ · ⌥⌘T | 深入 · 返回上一層 · 樹狀↔清單 |
| ⌘⌫ · ⌘⇧F | 從遠端刪除 · 在伺服器上搜尋 |
| ⌘⇧V · ⌘⇧L · ⌘⇧Y | 將路徑送到終端機 · 跟隨終端機 · 顯示差異 |
| ⌘+ ⌘- ⌘0 · ⌘⇧W | 字級大小 · 關閉此工作階段 |
| ⌘L · ⌘] ⌘[ | 清空終端機 · 切換右側面板分頁 |
| ⌘C · ⌘⇧P · ⌘⇧U · ⌘? | 複製 · 存入記錄 · 重送清單 · 使用手冊 |
❓常見問題
密碼儲存在哪裡?
只會儲存在 macOS 鑰匙圈中。設定檔裡只會留下「已儲存」的標記。鑰匙圈只會在連線的當下開啟一次。
會收集使用紀錄嗎?
不會。應用程式內沒有任何追蹤機制。不會統計您開啟了什麼、連線到哪裡。
序列主控台會中途停住。
這是沒有流量控制的 UART 在大量通訊時會出現的線路特性。若是四線纜線,請在設定中開啟流量控制(RTS/CTS);若是三線,請試著降低開發板端的速度,或將輸出分段顯示。
需要重新設定原本就在用的 SSH 設定嗎?
不需要。從 ~/.ssh/config 匯入後,會直接以原本的別名連線,並讀取該項目的主機、連接埠、使用者、金鑰、ProxyJump 來套用。
我的設定用了 ProxyCommand。
ProxyCommand 是啟動外部程式的功能,在 App Store 的沙盒中無法使用。若是透過跳板主機的設定,改用 ProxyJump 即可正常運作。ssh-agent 也因為同樣的原因無法使用,會直接讀取金鑰檔案;設有密碼的金鑰會在連線時詢問密碼。
支援哪些 macOS 版本?
macOS 14(Sonoma)以上,Apple Silicon 與 Intel 均可使用。
如果這個應用程式對您有幫助
Berth 是免費的。您可以透過贊助來支持開發。