# トラブルシューティング

## RSA キーには対応していません

Tessera は RSA キーを生成も読み込みもできません。現在の SSH スタックは、
非推奨の RSA/SHA-1 署名しか提示できないためです。代わりに
[Ed25519 キー](https://bambouville.com/docs/ja/keys/#キーの生成)を生成してください。現代の OpenSSH
サーバーはどれも受け付けます。古いバージョンから残っている RSA キーは、
無効な状態で表示されます。

## mosh がつながらない

- サーバーに `mosh-server` は入っていますか？
- UDP はサーバーに届きますか？ 一部のファイアウォールとほとんどの NAT は
  これを遮ります。mosh はデフォルトで UDP のポート 60000〜61000 を必要と
  します。
- [踏み台ホスト](https://bambouville.com/docs/ja/connections/#踏み台ホスト)越しの場合: mosh の UDP は
  踏み台を越えられません。Tessera は警告を出し（「踏み台チェーン越しでは
  mosh に到達できません…」）、SSH にフォールバックします。

## 転送がローカルポートを拒否する

iOS のサンドボックスは 1024 未満のポートをバインドできません。もっと大きな
ローカルポートを選んでください。ローカルポートは 1 つのホストの中で重複させる
こともできません。[ポート転送](https://bambouville.com/docs/ja/port-forwarding/)を参照してください。

## mosh のホストで転送が無効になっている

トランスポートが mosh で、起動モードが **カスタム** の場合、転送を運ぶ SSH
接続がありません。起動モードを **自動 tmux** か **名前付き tmux** に切り替えて
ください。どちらも、転送が乗る SSH のサイドチャネルを保ちます。

## 接続が「接続中」や「tmux を起動中」のまま止まる

12 秒待ってください。起動オーバーレイが、どの段階で止まっているかを告げ、
**ホストを編集**、**再試行**、**戻る** を提示します。もう終わりのない
スピナーはありません。tmux 自体が問題の場合（インストールされていない、
起動できない、あるいはホストの dotfiles がログイン時にすでに tmux を起動
する）、Tessera は理由を告げるバナーとともに素のシェルに落とします。また、
セッションはアタッチしたのに画面が真っ白なままなら、バナーが「任意のキーを
押して表示させてください」と伝えます。そのとおりにしてください。
[接続が進まないとき](https://bambouville.com/docs/ja/connections/#接続が進まないとき)を参照してください。

## tmux が変更を拾ってくれない

環境変数と起動スニペットは、tmux セッションが開始するときにだけ実行
されます。サーバー上でセッションを終了させて（`tmux kill-session`）、接続
し直してください。

## ファイルパネルがホストキーは信頼されていないと言う

ファイルのブリッジは、同じ信頼ルールを持つ別の SSH 接続です。そのホストへ
ターミナルセッションを開き、[「不明なホスト」の
シート](https://bambouville.com/docs/ja/host-keys/#初回接続)を確認してキーを受け入れてから、パネルを開き
直してください。

## ファイルパネルがシェルに追従しない

ディレクトリの追従には、シェルからの OSC 7 が必要です。パネルの
**追従を有効にする — シェル統合をインストール** ボタンを使い、そのあと
`exec $SHELL` を実行するか接続し直してください。詳しくは
[ファイル](https://bambouville.com/docs/ja/files/#シェルに追従する)にあります。

## WSL ホストへのセッションが出力の途中で固まる

接続は正常なのに、大量の出力がまとまって届かない — WSL2 の仮想アダプタでの
MTU の不一致が、大きなパケットをすべて飲み込んでいます。
[WSL の MTU による停止](https://bambouville.com/docs/ja/wsl-mtu/)を参照してください。

## ローカルネットワークへの接続が失敗する

iOS は LAN へのアクセスを **ローカルネットワーク** の権限で制御しています。
拒否してしまった場合は、「設定」App の Tessera から有効にし直してください。
[近くのデバイスからのセットアップ](https://bambouville.com/docs/ja/nearby-setup/)がもう一方のデバイスを
見つけられるのも、同じ権限のおかげです。

## 近くのデバイスからのセットアップでデバイスが見つからない

両方のデバイスで Tessera を **セットアップ画面** のまま前面に開き、同じ
ネットワーク上にあり、どちらでもローカルネットワークの権限が許可されている
必要があります。バージョンが食い違う場合は、「… の Tessera を更新して
ください」という明確なメッセージとともに中止します。[近くのデバイスからの
セットアップ](https://bambouville.com/docs/ja/nearby-setup/#始める前に)を参照してください。

## Handoff がもう一方のデバイスに現れない

Handoff は Apple の仕組みです。両方のデバイスで同じ Apple アカウント、
Bluetooth と Wi-Fi がオン、そして iOS の「設定」App で Handoff が有効に
なっている必要があります。ロックされたデバイスは意図的にブロードキャストを
止めます。
共有された tmux セッションで操作を取り戻すには、サーバー側に
**tmux 3.2 以降** も必要です。[連係](https://bambouville.com/docs/ja/continuity/)を参照してください。

## エージェントのカードに「ステータスを取得できません」と出る

検出はエージェントを見つけましたが、正確な状態にはホストごとのステータス
フックが必要です。カードからインストールまたは更新してください。Codex では、
統合された状態での初回起動時に、`/hooks` でフックを信頼するよう求められる
こともあります。[エージェントセンター](https://bambouville.com/docs/ja/agent-center/#検出の仕組み)を参照
してください。

## 通知が届かない

iOS の通知の権限を確認してください（ベルの設定シートからそこへ直接移動
できます）。バックグラウンドの配信はベストエフォートであることも覚えておいて
ください。iOS は長時間のバックグラウンドセッションを停止させることが
あります。[通知](https://bambouville.com/docs/ja/notifications/)を参照してください。

## 購入が引き継がれなかった

**設定 → ホスト数無制限 → 購入を復元** が Apple アカウントを再確認します。
再インストール、新しいデバイス、そして最初に有料アプリを購入した場合に
含まれる解除が対象です。[無料版とホスト数無制限](https://bambouville.com/docs/ja/unlimited-hosts/)を参照
してください。

## そのほか

**設定 → 診断 → 開発者に送る** で、宛先が設定済みのメールが診断ログを添付
した状態で開きます。送信をタップする前に、すべてを確認できます。（デバイスに
メールアカウントが必要です。ない場合は **ログを書き出す** を使い、任意の
メールアプリからファイルを送ってください。）または
[GitHub Issues](https://github.com/bambouville/tessera/issues)に issue を
立ててください。ログは秘匿処理されており、あなたが送るときにしかデバイスから
出ません。
