チュートリアル

モバイルでの Tailscale SSH:完全セットアップガイド(2026)

スマホから Tailscale で SSH をセットアップ:ポート転送なしでサーバーのプライベートな tailnet IP に接続し、Tailscale SSH(tailscale up --ssh)を有効にして ACL でアクセスを制御する方法。

CC Chen Chen· 創業者·2026年6月24日·6 分で読めます

モバイルでの Tailscale + SSH、要点だけ

Tailscale はあなたのスマホとサーバーを 1 つのプライベートネットワーク(「tailnet」)に入れ、それぞれに安定したプライベート IP を割り当てます。だからポート転送をしたり SSH をインターネットに晒したりせずに、どこからでもサーバーに SSH できます。「Tailscale SSH」という言葉には、関連する 2 つの意味があります:

  • Tailscale 経由の SSH — サーバーのプライベートな tailnet IP に接続し、いつもの SSH 鍵でログインします。これがモバイル SSH クライアントで行うことであり、一般的なケースです。
  • Tailscale SSH(機能名)— サーバー側のオプション(tailscale up --ssh)で、Tailscale 自身があなたの ID と ACL を使って tailnet ノード間の SSH を認証します。そのため、これらの接続では鍵を管理する必要がありません。

本記事では、その両方をスマホからセットアップします。

ステップ 1 — スマホとサーバーを tailnet に参加させる

  1. 各サーバーに Tailscale をインストールしてサインインします(tailscale up)。それぞれが 100.x のプライベート IP と MagicDNS 名を取得します。
  2. スマホを tailnet に参加させます。Tailscale アプリをインストールするか、それを内蔵したクライアントを使います — TermAI は Tailscale を埋め込んでいるので、2 つ目のアプリなしでスマホが tailnet に参加できます。iPhone での Tailscale を参照してください。

ステップ 2 — tailnet 経由で SSH する

次に、SSH クライアントで接続を追加します。公開アドレスの代わりにサーバーの tailnet IP(または MagicDNS 名)、ポート 22、ユーザー名、鍵を使います。tailnet はプライベートで常時接続なので、サーバーはモバイル回線でも任意の Wi-Fi でも到達可能です — しかも何もパブリックインターネットに晒されません。

スマホ上で Tailscale 経由にルーティングされた SSH 接続。認証成功を表示
Tailscale 経由の SSH:クライアントはサーバーのプライベートな tailnet アドレスで到達して認証します — ポート転送なし、インターネットに開いているものもなし。

ステップ 3(任意)— サーバーで Tailscale SSH を有効にする

自分のデバイス間の SSH 認証を Tailscale に処理させたい場合は、サーバーでこの機能を有効にします:

sudo tailscale up --ssh

これで、あなたの tailnet からの接続(ACL によって管理される)は、あなたが管理する鍵ではなく Tailscale ID によって認証されます。誰がどこに SSH できるかは tailnet ポリシーファイルで制御します — たとえば、あなたのユーザーが prod タグに到達できるようにします:

// tailnet 策略(ACL)——示例
{
  "ssh": [
    {
      "action": "accept",
      "src":    ["autogroup:member"],
      "dst":    ["tag:prod"],
      "users":  ["root", "autogroup:nonroot"]
    }
  ]
}

注意:Tailscale SSH は tailnet ID で認証します。サードパーティのモバイル SSH クライアントは、トンネル越しに依然としてあなたの SSH 鍵を提示します。--ssh 機能が真価を発揮するのは、Tailscale 対応エンドポイント間の鍵レスアクセスと、アクセスルールを ACL に集約する場面です。

スマホでタイピングを減らして行う

スマホで tailscale up --ssh を打ったり ACL を編集したりするのは、指がもつれやすい作業です。やりたいことを TermAI のアシスタントに伝え — 「このホストで Tailscale SSH を有効にして」 — 実行する前にコマンドを確認しましょう。接続中のサーバーに基づいているので、そのディストリビューションに正しいコマンドを返してくれます。

TermAI が Run ボタン付きで tailscale コマンドを提案している様子
正確な tailscale コマンドを尋ね、実行前に確認 — スマホから tailnet を設定するときに便利です。

FAQ

Tailscale SSH と「Tailscale 経由の SSH」の違いは?
Tailscale 経由の SSH とは、サーバーのプライベート IP に接続し、いつもの SSH 鍵でログインすることです。Tailscale SSH(--ssh)は、Tailscale が ID と ACL を介して tailnet ノード間の SSH を認証する機能で、これらの接続では鍵を管理しません。

Tailscale で SSH を使うのにポート 22 を開ける必要はありますか?
いいえ — そこが要点です。サーバーはプライベートな tailnet アドレスで到達可能なので、ポート 22 をパブリックインターネットに対して閉じたままにできます。

iPhone や Android から Tailscale SSH を使えますか?
任意のモバイルクライアントから tailnet 経由で SSH できます(TermAI は Tailscale を内蔵)。--ssh の ID 機能自体は、Tailscale 対応エンドポイント間で最も力を発揮します。サードパーティのクライアントからは、トンネル越しに依然として鍵を提示します。

クイックファクト

  • Tailscale 経由の SSH:プライベートな tailnet IP + 鍵で接続 — ポート転送なし(モバイルの既定)
  • Tailscale SSHtailscale up --ssh):Tailscale が ACL を介して tailnet ノード間の SSH を認証
  • スマホのセットアップ:tailnet に参加(Tailscale アプリまたは TermAI 内蔵)してから、プライベート IP に SSH
  • セキュリティ上の利点:ポート 22 をパブリックインターネットに対して閉じたままにできる
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog