Android向けSSHクライアント
Termexaは、Androidのスマートフォン・タブレット・折りたたみ端末を、いつも使っているサーバーにSSHで接続します。このページでは、ホストを追加してログインするまでの手順と、接続後にターミナルでできることを紹介します。
スマートフォンでSSHが使いにくい理由
- スマートフォンのキーボードには、シェルやエディタに欠かせないEsc、Tab、Ctrl、矢印キーがありません。
- Wi-Fiからモバイルデータに切り替わったり、画面が消えたりすると接続が切れます。
- いつも持ち歩く端末に、秘密鍵やパスワードを安全に置く場所が必要です。
4ステップでサーバーに接続
- ホストを追加します。 ターミナル画面で☰をタップして接続を開き、リモートターミナル · 新しいSSHホストを追加をタップして、別名、アドレス(ドメインまたはIP)、ポート、ユーザー名を入力します。ログイン後に実行する実行するコマンド(例:
tmux new -A -s main)も設定できます。 - ログイン方法を選びます。 スマートフォンで新しいEd25519鍵を生成して公開鍵をサーバーにコピーするか、手持ちの秘密鍵(Ed25519、RSA、ECDSA。パスフレーズがあればそれも)を読み込むか、パスワードを使います。ワンタイムコード(keyboard-interactive)など追加の質問があれば、Termexaはサーバーの質問をそのまま表示し、入力した答えを送ります。
- サーバー鍵を確認します。 初回接続時、Termexaはサーバー鍵のフィンガープリントを表示します。サーバー側と見比べてから信頼するをタップしてください。以降は接続のたびに鍵を確認し、鍵が変わっていれば接続せずに止まります。
- ツールバーで入力します。 ターミナルの下にある2段のツールバーには、Esc、Tab、Ctrl、Alt、Shift、Page Up/Down、矢印キーがあります。Ctrlをタップしてから別のキーを押すとCtrl+Cのような組み合わせになります。複数のキーでCtrlをオンのままにするには、設定 → ショートカットパネルでCtrl ロックキーを追加します。
例: 生成した鍵をサーバーに登録する
新しい鍵を生成のあと公開鍵をコピーをタップし、サーバー上で同じユーザーとして次を実行します。
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo 'PASTE-THE-PUBLIC-KEY-HERE' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
初回接続時にTermexaが表示するフィンガープリントと比べるには、サーバー自身のものを表示します。
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
SSHクライアントのそのほかの機能
- キーチェーン。 パスワード、鍵、パスフレーズはAndroid Keystoreの鍵で暗号化され、自動バックアップから除外され、複数のホストで共有できます。鍵のパスフレーズの保存は任意で、端末のロックや生体認証で保護されます。
- ジャンプホスト。 保存済みの別のホストを経由して(ProxyJumpのように)サーバーに接続します。両方のサーバーの鍵を確認します。
- ローカルポートフォワーディング。 スマートフォンの
127.0.0.1:ローカルポートを、保存済みホストから届くアドレスとポートに転送します。たとえばサーバー上のWebダッシュボードを見られます。実行中の転送は通知から停止できます。 - 再接続。 keepaliveで切れた接続を検知し、ネットワークが変わると自動で再接続して、ホストに保存したコマンドをもう一度実行します。
- バックグラウンド。 既定では、アプリを離れても接続は開いたままです。代わりに1、5、30、60分後に閉じるよう選ぶこともできます。
- 複数のターミナルを同時に。 ホストごとに複数のターミナルを開けます。実行中のターミナルはホストごとにまとめられ、ライブプレビュー付きで表示されます。ホストや保存したコマンドをホーム画面のショートカットにできます。
- 接続診断。 接続に失敗したら、接続診断がアドレス、ポート、サーバー鍵、ログインを1つずつ確認し、どの段階で失敗したかを教えます。
- ロックとプライバシー。 任意の指紋・顔によるアプリのロック、既定で無効のスクリーンショット、パスワードで保護するバックアップ。アカウント、広告、分析はありません。
- ローカルシェル。 このデバイスのターミナルは、サーバーなしでスマートフォン自体のシェルを開きます。
よくある質問
TermexaはどのAndroidバージョンに対応していますか?
Android 13以降のスマートフォン、タブレット、折りたたみ端末に対応しています。
どの種類のSSH鍵が使えますか?
暗号化されたものも含め、Ed25519、RSA、ECDSAの秘密鍵を読み込めます。アプリで新しいEd25519鍵を生成することもできます。
ワンタイムコードを求めるサーバーでも使えますか?
はい。OTPコードなどのkeyboard-interactiveの質問をサーバーの文言のまま表示し、入力した答えをサーバーに送ります。
どの種類のポートフォワーディングに対応していますか?
ローカルポートフォワーディングのみです。スマートフォンの127.0.0.1のポートを、保存済みホストを経由して転送します。リモートフォワーディングと動的(SOCKS)フォワーディングには対応していません。
moshやSSHエージェント転送に対応していますか?
いいえ。TermexaはSSHでのみ接続し、SSHエージェント転送は使えません。
パスワードや鍵が開発者に送られることはありますか?
いいえ。スマートフォンに暗号化して保存され、あなたが選んだサーバーとジャンプホストへのログインにだけ使われます。開発者が運営するサーバーはありません。