モバイルでの 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 に参加させる
- 各サーバーに Tailscale をインストールしてサインインします(
tailscale up)。それぞれが 100.x のプライベート IP と MagicDNS 名を取得します。 - スマホを tailnet に参加させます。Tailscale アプリをインストールするか、それを内蔵したクライアントを使います — TermAI は Tailscale を埋め込んでいるので、2 つ目のアプリなしでスマホが tailnet に参加できます。iPhone での Tailscale を参照してください。
ステップ 2 — tailnet 経由で SSH する
次に、SSH クライアントで接続を追加します。公開アドレスの代わりにサーバーの tailnet IP(または MagicDNS 名)、ポート 22、ユーザー名、鍵を使います。tailnet はプライベートで常時接続なので、サーバーはモバイル回線でも任意の Wi-Fi でも到達可能です — しかも何もパブリックインターネットに晒されません。
ステップ 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 を有効にして」 — 実行する前にコマンドを確認しましょう。接続中のサーバーに基づいているので、そのディストリビューションに正しいコマンドを返してくれます。
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 SSH(
tailscale up --ssh):Tailscale が ACL を介して tailnet ノード間の SSH を認証 - スマホのセットアップ:tailnet に参加(Tailscale アプリまたは TermAI 内蔵)してから、プライベート IP に SSH
- セキュリティ上の利点:ポート 22 をパブリックインターネットに対して閉じたままにできる
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.