記事一覧に戻る

AndroidスマホでSSH接続する方法|初心者向けステップバイステップ【2026年版】

この記事は「モバイルSSH完全ガイド」のクラスター記事です。

スマホからサーバーを触れるって、知ってた?

「SSHって、PCからやるものでしょ?」

ぼくも最初はそう思っていた。でも薬局で働きながらサーバーを管理していると、PCが手元にない場面に何度も遭遇する。障害通知が来たのに手元にあるのはスマホだけ——そんなとき、スマホからSSHでサーバーに入れたらどれだけ助かるか。

実はAndroidスマホからSSH接続するのは、思っているほど難しくない。アプリを入れて、接続先を登録して、鍵を設定する。ここまでやれば、あとはタップひとつでサーバーに入れる。

この記事では、Android初心者でもつまずかないように1ステップずつ手順を追って解説する。


そもそもSSHって何?(30秒で理解)

SSH(Secure Shell)は、離れた場所にあるコンピューターに暗号化された安全な通信路を通じて接続する仕組み。

身近な例えで言うと、自宅のPCの画面を遠隔で操作するリモートデスクトップの「テキスト版」みたいなもの。画面の絵は見えないけど、コマンド(文字の命令)を打ってサーバーを操作できる。

SSHが使われる代表的な場面はこんな感じ。

  • 自宅や会社のサーバーの設定変更・ログ確認
  • VPS(レンタルサーバー)の管理
  • Claude CodeなどのAIコーディングツールの操作
  • Raspberry Piなど小型コンピューターへのアクセス

つまり、スマホからSSHできる = スマホ1台でサーバーが操作できるということ。通勤中に障害対応したり、外出先からAIにコードを書かせたり、可能性はけっこう広い。


用意するもの

始める前に、以下の3つを確認しておこう。

必要なもの説明
AndroidスマホAndroid 10以降を推奨。ほぼすべての現行機種でOK
SSHクライアントアプリこの記事で入れ方を解説する
接続先のサーバーIPアドレス(またはホスト名)、ユーザー名、ポート番号が必要

接続先のサーバーがまだない人は、この記事を読んで全体の流れを把握してから、VPSの契約やRaspberry Piのセットアップを進めるのがいいと思う。


Step 1: SSHクライアントアプリをインストールする

AndroidでSSH接続するには、まずSSHクライアントアプリが必要になる。

2026年現在、Google Playで入手できる主なSSHクライアントアプリはこちら。

アプリ特徴料金
SSH Term日本語入力対応(IMEモード)、SFTP内蔵、鍵生成がワンタップ800円(買い切り)
Termiusクロスプラットフォーム対応、UIが洗練無料(Pro: 月額$10)
ConnectBotオープンソース、軽量無料
TermuxLinux環境丸ごと構築できる(上級者向け)無料

各アプリの詳しい比較は「Android SSHクライアントおすすめ5選」で解説しています。

この記事ではSSH Termを使って手順を説明する。理由はシンプルで、GUI操作だけでSSH接続の設定が完結するので、初心者がつまずきにくいから。

SSH Termのインストール手順

  1. Google Playで「SSH Term」を検索
  2. SSH Termをインストール
  3. アプリを起動する

これだけ。ConnectBotやTermiusも同じく、Google Playからインストールするだけで準備完了。

Termuxだけは少し事情が違う。ターミナルアプリなので、インストール後にpkg install opensshコマンドでSSHクライアントを別途入れる必要がある。SSH接続だけが目的なら、専用アプリの方がずっと手軽だ。


Step 2: 接続先のサーバー情報を確認する

SSHクライアントに登録するために、以下の情報を手元に用意する。

項目どこで確認できるか
ホスト名 or IPアドレス192.168.1.100example.comサーバーの管理画面、VPSのダッシュボード
ポート番号22(デフォルト)サーバーのSSH設定(/etc/ssh/sshd_config
ユーザー名ubuntu, root などサーバー契約時のメール、管理画面

VPS(ConoHa、さくら、AWS Lightsailなど)を使っている場合は、管理画面のコンソール情報に書いてある。自宅のLinuxマシンならip addrコマンドでIPアドレスを確認できる。

外出先から自宅サーバーに接続したい場合

自宅のサーバーにインターネット経由で接続するなら、ルーターのポート開放が必要になる。ただし、ポート開放はセキュリティリスクが伴うので、個人的にはTailscaleの利用をおすすめする。

Tailscaleを使えば、ポート開放なしで自宅のマシンに安全にアクセスできる。個人利用は無料。VPN的なものだけど、設定がめちゃくちゃ簡単で、ぼくも毎日使っている。

詳しくは「Tailscale SSH × Claude Code|外出先から自宅PCでAI開発する方法」で解説しています。


Step 3: パスワード認証でまず接続してみる

いきなり公開鍵認証を設定するのはハードルが高いので、まずはパスワード認証で接続できるか試そう。

SSH Termでの接続手順

  1. アプリを開いて 「+」ボタンをタップ
  2. 以下を入力する
    • ホスト: サーバーのIPアドレスまたはホスト名
    • ポート: 22(変更していなければそのまま)
    • ユーザー名: サーバーのユーザー名
  3. 「接続」をタップ
  4. 初回は「このホストを信頼しますか?」と聞かれるので 「はい」 を選択
  5. パスワードを入力

ターミナル画面が表示されて、コマンドプロンプト($#)が見えたら接続成功。

# 試しにこんなコマンドを打ってみよう
whoami
# → ユーザー名が表示される

hostname
# → サーバー名が表示される

uname -a
# → OS情報が表示される

おめでとう。これでスマホからサーバーを操作できるようになった。

Termiusの場合

Termiusでも流れは同じ。「New Host」→ ホスト名・ユーザー名・パスワードを入力 → 「Connect」で接続できる。

ConnectBotの場合

ConnectBotは接続画面で ユーザー名@ホスト名:ポート の形式で入力する。例えば [email protected]:22 のように。


Step 4: 公開鍵認証を設定する(重要)

パスワード認証で接続できることを確認したら、次は公開鍵認証に切り替えよう。

なぜか。パスワード認証には2つの弱点がある。

  1. セキュリティ: パスワードは総当たり攻撃(ブルートフォース)で突破される可能性がある
  2. 利便性: 毎回パスワードを手入力するのが面倒

公開鍵認証なら、スマホに秘密鍵を持っておくだけで、パスワード入力なしで安全にログインできる。薬局でSSH接続するたびに長いパスワードを打っていた頃が懐かしい。鍵認証にしてからは、本当にワンタップで入れるようになった。

仕組みをざっくり理解する

公開鍵認証は「南京錠と鍵」の関係に近い。

  • 公開鍵(南京錠)→ サーバーに置く。誰に見られても問題ない
  • 秘密鍵(鍵)→ スマホに保管する。絶対に他人に渡さない

サーバーに置いた南京錠を、スマホの鍵で開ける——これが公開鍵認証の基本的な考え方。

SSH Termでの鍵生成手順

  1. アプリの 「鍵管理」 画面を開く
  2. 「鍵を生成」 をタップ
  3. 鍵タイプは Ed25519(デフォルト)のままでOK
  4. 生成完了。公開鍵をコピーするボタンが表示される

たったこれだけ。コマンドを一切打たずに鍵ペアが作れる。

ConnectBotの場合

ConnectBotでも設定 → 「公開鍵の管理」→「生成」で鍵を作れる。

Termiusの場合

Termius はSettings → Keychain → 「+」→ 「Generate」で鍵生成ができる。Ed25519を選ぼう。

公開鍵をサーバーに登録する

生成した公開鍵をサーバーの~/.ssh/authorized_keysファイルに追加する必要がある。

方法A: パスワード認証でログインして手動で追加

まだパスワード認証が有効なはずなので、スマホからSSH接続して以下を実行する。

# .sshディレクトリがなければ作成
mkdir -p ~/.ssh
chmod 700 ~/.ssh

# 公開鍵を追加(コピーした公開鍵を貼り付ける)
echo "ssh-ed25519 AAAA...(コピーした公開鍵)" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

SSH Termなら、IMEモードを使ってコピーした公開鍵をターミナルに直接ペーストできる。他のアプリだと長い文字列のペーストがうまくいかないことがあるので、PCからの操作の方が確実かもしれない。

方法B: PCからssh-copy-idを使う(PCがある場合)

PCが手元にあるなら、スマホの公開鍵をPCにコピーしてから以下を実行するのが楽。

ssh-copy-id -i スマホの公開鍵ファイル ユーザー名@サーバーIP

鍵認証で接続テスト

公開鍵の登録が終わったら、一度接続を切って、再度接続してみよう。パスワードを聞かれずにログインできたら成功。


Step 5: パスワード認証を無効化する(任意だけど推奨)

公開鍵認証で接続できることを確認したら、サーバー側でパスワード認証を無効にしておくとセキュリティが格段に上がる。

sudo nano /etc/ssh/sshd_config

以下の行を探して変更する。

PasswordAuthentication no

変更を保存したら、SSHサービスを再起動。

sudo systemctl restart sshd

注意: この設定をすると、秘密鍵を紛失したらサーバーにSSHログインできなくなる。VPSなら管理画面のコンソール機能から復旧できるけど、自宅サーバーなら直接キーボードとモニターを繋ぐ必要がある。秘密鍵のバックアップは忘れずに。


つまずきやすいポイントと対処法

実際にスマホからSSH接続すると、PCとは違う問題にぶつかることがある。ぼくが経験した主なトラブルと解決策をまとめておく。

「Connection refused」と表示される

サーバー側でSSHが起動していないか、ポート番号が間違っている可能性が高い。

# サーバー側で確認(別の手段でログインして)
sudo systemctl status sshd
# → active (running) と表示されればOK

# ポートの確認
sudo ss -tlnp | grep ssh

「Connection timed out」になる

ネットワーク的にサーバーに到達できていない。自宅サーバーに外から繋ごうとしている場合は、ルーターの設定かTailscaleの確認を。同じWi-Fiにいるのにタイムアウトする場合は、ファイアウォール(ufwiptables)でポート22がブロックされていないか確認しよう。

接続中にすぐ切れる

スマホのSSH接続が不安定になる原因の多くは、OSのバッテリー最適化によるバックグラウンドプロセスの強制終了。

  • SSH Termにはバックグラウンド接続維持機能があるので、設定で有効にしておく
  • Androidの設定 →「バッテリー」→ SSHアプリの「バッテリー最適化」を無効にする

接続切れの問題について詳しくは「スマホのSSH接続が切れる原因と対策」を参照してください。

日本語が入力できない・文字化けする

多くのSSHクライアントでは、ターミナル内で日本語を直接入力できない。これはターミナルエミュレータとAndroid IMEの相性問題で、アプリ側の対応が必要になる。

SSH TermのIMEモードを使えばこの問題は解消されるけど、他のアプリを使っている場合は英語での操作が基本になる。

この問題の技術的な背景は「Termius Android 日本語入力がバグる?」で詳しく解説しています。


もっと快適にするためのTips

SSH接続ができるようになったら、次のステップとしておすすめしたいことが3つある。

tmuxを使う

SSH接続が切れてもリモート側のプロセスを維持できるtmuxは、スマホSSHの必須ツールと言っていい。

# サーバー側にtmuxをインストール
sudo apt install tmux

# セッション開始
tmux new -s work

# 作業する...

# セッションを抜ける(プロセスは動き続ける)
# Ctrl+B → D

# 後から再接続
tmux attach -t work

通勤中に作業を始めて、電車を降りるときにtmuxセッションを抜けて、会社に着いたら再接続——こういう使い方が本当に便利。

詳しくは「tmux実践ガイド|SSH×tmuxでリモート開発を劇的に快適にする」を参照。

Tailscaleで安全にアクセス

先ほども触れたけど、外出先から自宅サーバーに繋ぐならTailscaleが圧倒的に楽。ルーターのポート転送の設定が不要で、VPN経由で安全にアクセスできる。

Android版Tailscaleアプリをインストールして、サーバーとスマホの両方にTailscaleを入れておけば、100.x.x.xのプライベートIPで直接SSH接続できるようになる。

SFTPでファイル管理

SSH接続でコマンドを打つだけじゃなく、サーバー上のファイルをGUI的に閲覧・ダウンロードしたい場面もある。SSH TermやTermius(Pro版)にはSFTPブラウザが内蔵されているので、ファイルの確認やダウンロードがアプリ内で完結する。


まとめ

AndroidスマホからSSH接続するまでの手順を振り返ると、やることは意外とシンプル。

  1. SSHクライアントアプリをインストール
  2. 接続先のサーバー情報を入力
  3. パスワード認証で接続テスト
  4. 公開鍵を生成してサーバーに登録
  5. 鍵認証で接続できるか確認

ここまでの所要時間は、慣れれば10分くらい。初めてでも30分あれば十分だと思う。

スマホからサーバーを操作できるようになると、行動の自由度がかなり上がる。ぼくの場合は薬局にいるときの障害対応が圧倒的に楽になったし、最近はClaude Codeをスマホから動かして通勤時間を開発時間に変えている。

まずはパスワード認証で繋いでみるところから始めてみよう。


関連記事