トラブルシューティング
このページでは Mobile SSH のよくある問題と、サーバー側の SSH 設定を変更する前にまず確認すべき点を説明します。
接続できない
確認してください:
- Android 端末にネットワークアクセスがある。
- サーバーのホスト名または IP アドレスが正しい。
- SSH ポートが正しい(通常は
22)。 - ファイアウォール、VPN、携帯回線、または Wi-Fi ネットワークがポートをブロックしていない。
- SSH サーバーが稼働しており、使用中のネットワークからの接続を受け付けている。
同じホストが別の端末で動く場合は、ホスト、ポート、ユーザー名、鍵、ネットワーク経路を正確に比較してください。
認証に失敗する
確認してください:
- ユーザー名のつづり。
- パスワードまたは鍵のパスフレーズ。
- サーバーがパスワードログイン、鍵ログイン、またはその両方を許可しているか。
- 秘密鍵がサーバーユーザーの
authorized_keysの公開鍵と一致するか。 - 鍵ファイルがヘッダーとフッターの行を含めて完全にインポートされたか。
暗号化された秘密鍵では、パスワード/パスフレーズ欄にパスフレーズを入力します。
秘密鍵のインポートに失敗する
秘密鍵のインポートは Android のファイル選択ツールを使います。インポートに失敗する場合:
- 選択したファイルが公開鍵
.pubではなく秘密鍵であることを確認します。 - 信頼できるテキストエディタでファイルを開き、鍵ブロック全体が含まれていることを確認します。
- 秘密鍵欄に鍵を手動で貼り付けてみます。
- 鍵の種類がアプリの実装で対応しているもの(Ed25519、RSA、ECDSA、DSA)であることを確認します。
キーボード入力が遅れる、または変わる
Android のキーボードがテキストをシェルに届く前に変える場合は、Mobile SSH の設定でキーボードの予測候補を無効にしてください。これは Vim、tmux、htop、less、特殊なキーコンビネーションを使うシェル、リモートのパスワード入力に役立ちます。
ESC、TAB、CTRL、矢印、HOME、END、PGUP、PGDN などのターミナルキーには追加キーの行を使ってください。
tmux のスクロールが想定どおりでない
Mobile SSH はターミナルの状態に応じてスクロールの挙動を変えます。tmux や他の代替画面プログラムでは、スクロールのジェスチャーがローカル履歴のスクロールではなく tmux のコピーモードのコマンドを送ることがあります。tmux のマウスモードが有効な場合、アプリはマウスホイールのエスケープシーケンスを送ります。
スクロールがおかしいと感じたら:
- リモートサーバーで tmux のマウスモードを有効・無効にしてみます。
- 追加キーの行の
PGUPとPGDNを使います。 - 密な出力をスクロールする前に、ペインをダブルタップして全画面にします。
- リモートのターミナルサイズが古く見える場合は、tmux をデタッチして再アタッチします。
画面ロック後にセッションが切れる
Mobile SSH は keepalive、フォアグラウンドサービス、ウェイクロック、Wi-Fi ロック、再接続の試行を使って切断を減らします。それでも Android のバッテリーポリシーがバックグラウンド処理を止めることがあります。
確認してください:
- 端末がバックグラウンドアプリを積極的に止める場合は、Mobile SSH のバッテリー最適化を無効にします。
- 長いセッションの間は Wi-Fi またはモバイルデータを安定させます。
- ロック解除後に Mobile SSH を開き直し、Active Sessions をタップします。
- サーバーが SSH セッションを切断した場合は、最近のセッションから再接続します。
ファイル転送が端末のファイルを参照できない
新しい Android バージョンでは、ローカルのファイル参照にストレージアクセスが必要なことがあります。Android の設定で Mobile SSH にストレージアクセスを付与し、ファイル転送画面を開き直してください。
リモートのファイルは読み込めるのにローカルが読み込めない場合、SSH 接続はおそらく問題なく、原因はローカルの Android ストレージアクセスです。
アップロードまたはダウンロードに失敗する
確認してください:
- SSH セッションがまだ接続されている。
- リモートのディレクトリが存在する。
- リモートユーザーにそのパスの読み取りまたは書き込み権限がある。
- ローカルの保存先が書き込み可能である。
- Android 端末に十分な空き容量がある。
- 大きな転送に対してネットワークが安定している。
ポートフォワードに失敗する
確認してください:
- ローカルポートが
1から65535の間である。 - ローカルポートがすでに使われていない。
- トンネル文字列が
PORTまたはLOCAL:REMOTEHOST:REMOTEである。 - リモートのホストとポートが SSH サーバーから到達できる。
- SSH サーバーが TCP 転送を許可している。
デバッグログ
開始画面には Debug ボタンがあります。有効にすると、Mobile SSH はターミナルイベント、SSH データのサイズ、タッチ入力、サイズ変更の挙動、トンネルのライフサイクルの診断情報を記録します。記録を停止すると、デバッグアーカイブをローカルに保存できます。
デバッグアーカイブは共有する前に確認してください。トラブルシューティング用であり、サーバー名、タイミング、ターミナルの挙動、その他の環境の詳細が含まれることがあります。