ホストと接続
ホストエディタ
新しいホストを作るには ⌘N を押し、既存のホストを編集するにはそれをタップ します。エディタには 4 つのタブ — 接続、詳細、転送、スニペット — と 接続 バーがあります。iPhone では同じ 4 つのセクションがチップとして並び — 接続、詳細、トンネル、スニペット — 接続の入力欄とトンネルの規則は 保存をタップするまで保留されます(それ以外の編集は iPad と同じくすぐに反映され ます)。エディタ自体はどちらのデバイスでも同じです。
接続タブには基本項目が並びます。名前、アドレス、ポート(1〜65535)、 ユーザー、識別情報(キーページのキー)、パスワード です。 ここで入力したパスワードはセッション限りで、実行中のセッションの間だけ保持され、 永続化されません。唯一の例外は、近くのデバイスからのセットアップ や連係で設定され、パスワードで認証するホストです。この場合、 新しいデバイスで一度入力したパスワードは、そのデバイスのキーチェーンにのみ 保存された資格情報として保持され、同期されることはありません。エディタから あとで変更でき、保存すると、このデバイスのキーチェーンにあるパスワードが 置き換えられます。
トランスポート: SSH か mosh か
ホストごとに 1 つのトランスポートを選びます。
- ssh — SSH 接続は 1 本で、tmux のタブはメインセッション上に留まります。
- mosh — UDP 上の mosh ターミナル。mosh は Wi-Fi ↔ モバイル通信のローミングや
スリープ/復帰をまたいでセッションを維持し、パケットロスの多い回線でも反応が
軽く感じられます。ホストに
mosh-serverがインストールされている必要が あります。tmux のタブは 2 本目の SSH サイドチャネルを使います。本物の スクロールバックを含む詳しい話は mosh のページにあります。
mosh の UDP トラフィックは踏み台を越えられません。踏み台ホスト 経由で mosh を使い、mosh サーバーに到達できない場合、Tessera はそのことを伝え (「踏み台チェーン越しでは mosh に到達できません…」)、SSH で再接続します。
起動モード
- 自動 tmux — ホストごとの tmux セッションにアタッチします(なければ作成
します)。名前は
tessera-XXXXXXXXという決まった形で、アプリを再インストール しても記憶されます。既定であり、接続が切れても影響がなくなるモードです。 - 名前付き tmux — 自分で選んだ名前の tmux セッションにアタッチします。使えない 文字を含む名前の場合は、自動生成された名前が使われます。
- カスタム — 起動コマンドをそのまま実行します。ssh では接続時にログインシェルへ
そのまま送られ、mosh では
mosh-server new -- <command>によって実行されます。
tmux モードで何ができるかは tmux を、起動モードとトンネルの関係は ポート転送を参照してください。
踏み台ホスト
保存済みのホストはどれも SSH の踏み台(ProxyJump)として使えます。ホストエディタで 選択してください。チェーンは入れ子になり — 踏み台ホスト自身の踏み台がチェーンを 延長します — エディタには出来上がった経路(「a → b → host」)が表示され、 チェーンが壊れている場合は警告が出ます。
- 各ホップは、それぞれの識別情報またはパスワードで個別に認証します。パスワードを 使うホップには、エディタの踏み台ホストのセクションに パスワード · <ホップ名> の欄が現れ、その値は実行中のセッションの間だけ保持されます。すべてのホップに 入力されるまで、接続は無効のままです。
- ホストキーの確認はホップごとに、踏み台から順に表示され、それぞれ検証対象の エンドポイントが示されます。
- チェーンが壊れている場合は安全側に倒れます。踏み台ホストが削除されていると、 それに依存するホストはエディタで警告を出し、黙って直接つなぐのではなく接続を 失敗させます。エラーには発生元のホップが示されます(「踏み台ホスト <名前>: …」)。
- 無料版では、別途保存した踏み台が保存済みホストの枠を 1 つ 使います。
詳細タブ
- OS ロゴ — 接続時に自動検出されます。手動で設定することもできます(macos、 ubuntu、debian、alpine、linux、raspbian)。
- タグ と メモ — 自分で整理するためのものです。
- 環境変数 — 1 行に 1 つの
KEY=valueを書きます。先頭のexportは省略可能 で、指定しても取り除かれます。値はそのままリモートシェルに渡されるため、$HOME、$(…)、引用符は書いたとおりに機能します。 - ターミナルの背景 — 全体の背景をホストごとに上書きします。
環境変数と起動スニペットは、tmux セッションが起動するときにしか実行されません。 すでに tmux セッションが存在するホストでこれらを変更した場合は、変更を反映 させるためにサーバー上でそのセッションを終了してください。
スニペット
スニペットタブには 起動スニペット があります。接続直後に送られるコマンドです (上の tmux に関する注意はここにも当てはまります)。
接続が進まないとき
セッションが立ち上がる間、起動オーバーレイには現在の段階が表示されます — 接続中、tmux ホストではそのあと tmux を起動中(SSH)または tmux にアタッチ中(mosh)、そして ペインにアタッチ中 です。ある段階が 12 秒ほど進まないままだと、オーバーレイはどの段階で止まっているかを示し (「まだ 接続中 — ハンドシェイクが完了していません。」)、回り続ける代わりに 抜け道を用意します。
- ホストを編集 — アドレス、ポート、キーに問題があるときのために、ホスト エディタを開きます。
- 再試行 — 現在の試行を破棄して、最初から接続し直します。
- 戻る — あきらめてホスト一覧に戻ります。止まった試行から抜けると接続は完全に 切断され、サーバー側には何も残りません。
タイマーは段階ごとなので、遅くても進んでいる接続がこれに引っかかることは ありません。tmux 自体が立ち上がらない場合 — インストールされていない、セッションを 開始できない、ホスト自身の dotfiles がログイン時にすでに tmux を起動している — Tessera は決して応答しない tmux を待ち続けるのではなく、何が起きたかを正確に 伝えるバナーとともに素のシェルを表示します。
セッション
Tessera はどのホストに対しても、複数のセッションを同時に開いたままにできます。 自動 tmux のホストは 1 つだけ — ホストごとに tmux コントロールセッションが 1 つ (名前付き tmux ではホストとセッション名ごとに 1 つ)— ですが、カスタムコマンドの ホストは複数持てます(「名前 #2」「名前 #3」)。サイドバーの アクティブ セクションにはすべてのセッションが「名前 (tmux)」「名前 (tmux: セッション名)」 「名前 #N」というラベルで並び、それぞれに切断ボタンが付いています。iPhone では 同じ一覧が セッション タブになります。
セッションの切り替えは、タップするか、⌘⇧K / ⌘⇧J で隣に移動するか、
⌘K のクイック切り替えパレットを開いて行います。入力するとセッション
(新しい順)とエージェントが絞り込まれます — クエリの先頭に @ を付けると
エージェントだけに絞られます。
セッションの復元
設定 → ターミナル → 起動 → 以前の接続 で、新しく起動したときの動作を 決めます。
- 確認 — 「以前の接続を再開」のシートを表示し、「常に再開」/「再開」/ 「今はしない」から選べます。
- 常に — 確認なしで再接続します。
- しない — まっさらな状態で起動します。
iPhone では選択シートの代わりに 起動時に復元 のトグルが 1 つあるだけです。 復元できるのは、キー情報が揃っている保存済みホストのセッションだけです。
フォアグラウンドに戻ったときも仕組みは同じですが、より賢く動きます。Tessera は 何を再接続するか決める前に、開いている すべての セッションが状態を報告するのを 待ちます。そのため、複数のホストが同時に切断されても — あるいは mosh セッションが 遅れて切断を認めても — それぞれが再接続され、取り残されるものはありません。その間、 起動オーバーレイには残りの件数が表示されます(「+2 件のセッションが再接続中」)。 Tessera はあえて単一ウインドウです(iPad でのマルチシーンには対応しません)。 移動の手段は、サイドバーとパレット — iPhone ではタブバーと スイッチャー — です。