Berth ユーザーガイド

SFTP・ターミナル・シリアルコンソールをひとつの窓で — サーバの追加方法からショートカットまで

🚀はじめに

画面構成

ひとつの窓に四つの場所があります。

最初のサーバを追加

  1. サイドバーの空いている場所を右クリックするか、⌘Nを押します。
  2. 名前とサーバのアドレスを入力します。ユーザー・ポートは空欄のままにすると既定値を使います。
  3. 一覧でダブルクリックすると接続します。シングルクリックは選択です。
💡 すでにターミナルでssh aliasで接続していたサーバなら、新しく書くことはありません。 サイドバーメニューの~/.ssh/config から読み込む(⌘⇧I)でまとめて取り込みます。 FileZilla のサイト一覧も読み込めます。

言語を変更

メニューのBerth › 設定(⌘,)から20言語のうちひとつを選びます。 システム言語に従うのが既定で、選んだ言語はこのアプリだけに適用されます。 変更後にアプリを再起動すると反映されます。

🗂サーバとフォルダ

フォルダでまとめて継承させる

フォルダ(⌘⇧N)でサーバをまとめると設定が下に継承されます。 フォルダにユーザー名や注意等級を一度設定すれば、その下のサーバすべてに適用されます。 サーバ20台に同じ値を20回書かずに済むための仕組みです。

設定ウィンドウの各項目は、その値がどこから来たのか(自分で決めたのか、どのフォルダから継承したのか)を 下に表示し、戻すボタンで継承に戻せます。

注意等級 — 開発・ステージング・本番

等級は色より優先されます。本番にすると危険な操作の前に確認が増えます。セッション一覧では選んだ色で塗り、赤い枠で本番であることを示すので、本番サーバーが複数あっても色で見分けられます。確認ダイアログのように一つだけ表示される場所では、強い警告として赤のままです。

クリックのルール

🔑接続と認証

初めて接続するとき — フォルダ権限

Berth は App Store のルール(サンドボックス)に従うため、ホームフォルダを自由には読み込みません。初めてサーバに 接続するとき、SSH 設定・鍵・known_hosts のあるフォルダ(通常は~/.ssh)を一度 選ぶよう求めます。一度選べば記憶し、以後は尋ねません。鍵を別の場所に置いているなら、ホーム フォルダを選んでもかまいません。

ローカルファイルパネルも同じ理由であなたが選んだフォルダをルートとして使います — パネルの見出しにある ローカルフォルダを開くで変更でき、これも記憶されます。

~/.ssh/config を読み込みます

別名で接続すると、その項目のホスト・ポート・ユーザー・鍵ファイル・ProxyJumpStrictHostKeyCheckingを読み込んで使います。保存されたポートが古くても設定ファイルが優先されます。

⚠️ 二つはできません。ProxyCommandは外部プログラムを 起動する機能のためサンドボックスで禁止されています — ジャンプホストはProxyJumpで指定してください。 ssh-agentにも届かないため鍵ファイルを直接読み込み、パスワード付きの鍵は接続するときに パスワードを尋ねます。

認証方式

⚠️ ターミナルでそのままsshで接続していたサーバなら自動が正解です。 役に立つかと思って鍵を指定すると、かえって接続できなくなります — 指定した鍵ひとつしか試さないためです。

サーバが尋ねてきたとき

パスワードを保存しておくと、接続するときに一度だけ代わりに答えます。それ以外の問い — 2段階認証 コード、間違ったパスワードの入力し直し、パスワード付き鍵のパスワード — は「サーバから要求が来ました」 ウィンドウにサーバが送ってきた問いそのままが表示され、自分で答えます。アカウントがロックされないよう保存された パスワードは一度だけ自動で入力し、最大3回までしか尋ねません。

パスワード入力を省くには

サーバを右クリックしてこのサーバに公開鍵を登録…を選ぶと、~/.sshの公開鍵を サーバに送って登録します。次回からは鍵で接続します。

保存したパスワードはmacOS キーチェーンにのみあります。設定ファイルには「保存されている」という表示だけが 残り、値そのものは入りません。

初めて見るサーバ、変わったホストキー

初めて接続するサーバは鍵の種類とフィンガープリントを表示し、記憶するか尋ねます。記憶すると ~/.ssh/known_hostsに ssh と同じ形式で書き込み、以後は尋ねません。

サーバの身元が前回と違うときにも表示されます。中間者攻撃の可能性もあれば、サーバを再インストール しただけという可能性もあります。Berth は代わりに判断せず、判断材料を渡します — 旧/新しい鍵の種類と フィンガープリント、そして機器のコンソールで直接照合できるコマンドまで。確認したうえで「古い鍵を削除して新しい鍵を記憶」を押すと 古い項目を削除し(known_hosts.oldにバックアップ)、新しい鍵を書き込みます。

💡 頻繁に焼き直す開発ボードのように毎回このダイアログを見ることになる機器は、そのサーバの設定で ホストキーを記憶しないをオンにできます。危険がその1台だけに留まるよう known_hostsには触れません。本番等級ではオンにできません。

ファイルパネル (SFTP)

アップロードとダウンロード

左が自分の Mac、右がサーバです。ドラッグ&ドロップするか⌥⌘→(アップロード)・ ⌥⌘←(ダウンロード)で送ります。進行状況は転送リストに積み上がります。

ターミナルに追従するファイルパネル

ターミナルでcdすると、リモートのパネルが同じフォルダに追従します。追従が邪魔なときは ⌘⇧Lでオフにします。

よく行く場所・表示

差分表示

⌘⇧Yでオンにすると、ローカルとリモートを並べて見比べ異なるもの・片方にだけあるものを 表示します。必要なものだけ送りたいときに使います。

🌏 Mac と Linux は韓国語・日本語・ベトナム語のファイル名を異なるバイト列で書きます。 Berth はペアを組ませるときだけ名前をそろえて比べるので、見た目が同じファイルが「片側にだけある」に 分かれることはありません。実際の転送にはサーバ上にある名前をそのまま使います。

削除

⌘⌫サーバ側のゴミ箱へ移動するのが既定で、常に確認を求めます。 ゴミ箱がオフのサーバでは、元に戻せないと事前に伝えます。

⌨️ターミナル

vimtmuxlessがそのまま動く本物のシェルです。 マウスでドラッグして選択し⌘Cでコピーすれば、コマンドは行末の余分な空白なしできれいに貼り付きます。

貼り付け確認

複数行を貼り付けると何が実行されるかを先に表示します。改行を含む貼り付けは そのままその場でコマンドとして実行されてしまうためです。危険に見えるものは理由とともに表示します。

拡大表示

⌘↩で今の領域を拡大し、もう一度押すと戻ります。⌥⌘↩はパネルひとつだけを拡大します。 文字サイズは⌘+⌘-⌘0です。 ターミナルの内容は ⌘L で消去します — 画面とスクロール履歴が消え、現在のプロンプト行だけが残ります。

🔌シリアルコンソール (UART)

デバイスを選ぶ

⌃⌘Nでシリアルコンソールを追加し、設定で接続済みのデバイスを選びます。Berth はパスではなく デバイスを記憶します — シリアル番号があればそれで、なければ種類で。別の USB ポートに 挿し直しても同じデバイスを見つけます。

💡 そのシリアル番号は USB で列挙されるものの番号です。USB-シリアル変換アダプタを使うと アダプタを記憶することになるため、アダプタを変えると選び直しが必要です。

速度と回線設定

速度は一覧から選ぶか直接入力します(1,500,000 のような規格外の値も指定できます — アダプタが 受け付ける値である必要があります)。既定は8N1・フロー制御なしで、たいていのコンソールがこの値です。

⚠️ フロー制御のない UART は連続・大量の通信でデバイスが送信を止めてしまうことが あります。このアプリだけの問題ではなく回線自体の特性のためで(同じケーブルなら他のプログラムでも同じです)、 根本的な解決策は4線ケーブルでフロー制御を有効にするか、ボード側の速度を下げることです。

記録パネル

シリアルセッションでは自分が打ったコマンドとその応答が時刻とともに右側に積み重なります。 パスワードを尋ねられた入力箇所は伏せられます。

ショートカット

アプリのショートカットには常にが含まれます。の組み合わせはシェルや 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 で大量の通信を行うと生じる回線の特性です。4線ケーブルなら設定で フロー制御(RTS/CTS)をオンにし、3線なら基板側の速度を下げるか、出力をページャで 区切ってみてください。

すでに使っている SSH 設定を書き直す必要がありますか?

いいえ。~/.ssh/configから読み込めば別名のまま接続し、その項目のホスト・ポート・ ユーザー・鍵・ProxyJumpを読み込んで使います。

ProxyCommand を使う設定があります。

ProxyCommandは外部プログラムを起動する機能のため App Store のサンドボックスでは使え ません。ジャンプホストを経由する設定ならProxyJumpに置き換えればそのまま動きます。ssh-agent も 同じ理由で使えず、鍵ファイルを直接読み込み、パスワード付きの鍵は接続するときにパスワードを尋ねます。

対応する macOS のバージョンは?

macOS 14(Sonoma)以降、Apple Silicon と Intel の両方で動作します。

お役に立てたなら

Berth は無料です。寄付するで開発を支援できます。