TailscaleでClaude CodeにSSH接続する方法|VPNなしで安全なリモートAI開発環境を構築
この記事は「モバイルSSH完全ガイド」のクラスター記事です。モバイルSSHの全体像はガイドをご覧ください。
はじめに
Claude Codeが登場してから、「自宅のPCやサーバーでClaude Codeを動かして、外出先からSSHで操作したい」というニーズが急増しています。
しかし、従来のSSH接続には面倒な問題がつきまといます。
- ルーターのポートフォワーディング設定
- 固定IPアドレスの取得(またはDDNSの運用)
- ファイアウォールの穴あけ
- VPNサーバーの構築・運用
これらの問題を一発で解決するのがTailscaleです。
本記事では、Tailscaleを使ってClaude Codeが動く開発マシンに安全にSSH接続する方法を、ゼロから解説します。
Tailscaleとは
Tailscaleは、WireGuardベースのメッシュVPNサービスです。インストールしてログインするだけで、あなたのデバイス同士がインターネット越しに直接つながる安全なプライベートネットワークを構築できます。
従来のVPNとの違い
| 従来のVPN | Tailscale | |
|---|---|---|
| サーバー構築 | 必要(OpenVPN等) | 不要 |
| ポート開放 | 必要 | 不要 |
| 固定IPアドレス | 必要 | 不要 |
| 暗号化 | 設定次第 | WireGuard(常時) |
| 通信経路 | VPNサーバー経由 | P2P直接接続 |
| 設定の複雑さ | 高い | ほぼゼロ |
| 複数デバイス | 追加設定が必要 | ログインするだけ |
ポイントは、サーバーを建てる必要がないこと。Tailscaleは「コーディネーションサーバー」で各デバイスの情報を管理しますが、実際のデータ通信はデバイス間で直接行われます(P2P)。つまり、通信内容がTailscale社のサーバーを経由することはありません。
Tailscaleの5つのメリット
1. ポート開放が不要 — NATトラバーサルが自動
従来、外出先から自宅サーバーにSSH接続するには、ルーターで22番ポートをフォワードする必要がありました。これは自宅のIPアドレスとSSHポートを全世界に公開することを意味します。
TailscaleはNATトラバーサル技術で、ルーターの設定を一切変更せずにデバイス間を直接接続します。ポートが公開されないので、ポートスキャンによる攻撃を受ける心配がありません。
2. WireGuardによるエンドツーエンド暗号化
TailscaleはWireGuardプロトコルを使用しています。WireGuardは、OpenVPNやIPsecと比較して:
- コードベースがわずか約4,000行(OpenVPNは約100,000行)で監査が容易
- ChaCha20、Curve25519、BLAKE2sなど最新の暗号プリミティブを使用
- カーネルレベルで動作し高速
すべての通信がエンドツーエンドで暗号化されるため、カフェのフリーWi-Fiからでも安全にClaude Codeを操作できます。
3. MagicDNS — IPアドレスを覚えなくていい
TailscaleにはMagicDNSという機能があります。各デバイスにホスト名が自動的に割り当てられ、IPアドレスの代わりにホスト名でアクセスできます。
# IPアドレスを覚える必要なし
ssh user@my-devserver
# Tailscaleのドメイン付きでも可
ssh [email protected]
デバイスを再起動してIPが変わっても、ホスト名は変わりません。DDNSの運用も不要です。
4. ゼロコンフィグ — インストールして1分で使える
Tailscaleのセットアップはこれだけです:
- インストールする
tailscale upを実行する- ブラウザでログインする
VPNの証明書生成、鍵配布、ルーティングテーブルの設定……そういった作業は一切不要です。
5. 無料で個人利用OK
Tailscaleの個人向けプラン(Personal)は無料で、最大100デバイスまで接続できます。Claude Codeの開発用途なら、無料プランで十分です。
構築手順:TailscaleでClaude Codeに安全にSSH接続する
全体構成
graph LR
A["📱 スマホ / 外出先PC"] -->|Tailscale暗号化トンネル| B["🔐 Tailscaleネットワーク"]
B -->|P2P直接接続| C["🖥️ 自宅PC<br/>Claude Code稼働中"]
外出先のデバイスと自宅PCの両方にTailscaleをインストールするだけで、ルーター設定なしにSSH接続できるようになります。
Step 1:Tailscaleアカウントを作成
tailscale.com にアクセスし、Google / Microsoft / GitHubアカウントでサインアップします。
Step 2:自宅PC(Claude Codeを動かすマシン)にTailscaleをインストール
Ubuntu / Debian の場合:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
実行するとブラウザが開き、ログインを求められます。ログインすると、このマシンがTailscaleネットワークに参加します。
macOS の場合:
brew install tailscale
sudo tailscale up
またはMac App Storeから「Tailscale」をインストールしてください。
Step 3:SSHサーバーを設定
Claude Codeを動かすマシンでSSHサーバーが動いていることを確認します。
# SSHサーバーのインストール(入っていない場合)
sudo apt install openssh-server
# 起動確認
sudo systemctl status sshd
セキュリティ強化(推奨):
Tailscaleを使う場合、SSHサーバーをTailscaleのインターフェースだけにバインドすると、さらに安全です。
# /etc/ssh/sshd_config に追加
ListenAddress 100.64.0.0/10
100.64.0.0/10はTailscaleが使用するCGNATアドレス範囲です。こうすることで、SSHサーバーはTailscale経由の接続のみを受け付けるようになります。
設定後、SSHサーバーを再起動します。
sudo systemctl restart sshd
Step 4:外出先のデバイスにTailscaleをインストール
PC(Windows / macOS / Linux)の場合:
各OSのインストーラーを tailscale.com/download からダウンロードしてインストール。
スマホ(Android / iOS)の場合:
Google Play / App StoreからTailscaleアプリをインストールし、同じアカウントでログインします。
Step 5:SSH接続する
外出先のデバイスからSSH接続します。
ssh user@my-devserver
これだけです。 ポートフォワーディングなし、DDNS設定なし、VPN鍵の配布なし。Tailscaleにログインしたデバイス同士は、まるで同じLANにいるかのように通信できます。
Step 6:Claude Codeを起動して作業開始
SSH接続ができたら、あとはいつも通りClaude Codeを起動するだけです。
claude
カフェから、電車の中から、旅行先から——自宅PCのClaude Codeをフルに活用できます。
さらに安全にする:Tailscale SSH
TailscaleにはTailscale SSHという機能もあります。これを有効にすると、OpenSSHサーバー自体が不要になります。
# Claude Codeマシン側で有効化
sudo tailscale up --ssh
Tailscale SSHのメリット:
- SSHポート(22番)を一切開かない — OpenSSHを停止できる
- Tailscaleの認証がSSHの認証を兼ねる — SSH鍵の管理が不要
- ACLでアクセス制御 — Tailscale管理画面からどのデバイスが接続できるか制御可能
- セッション録画 — 誰がいつ何を実行したかをログに残せる(チーム利用時)
個人利用でも、「SSH鍵の管理をしなくていい」というだけで大きなメリットです。
Tailscale + tmux で最強のリモートClaude Code環境
SSHで長時間のClaude Codeセッションを行う場合、tmuxとの組み合わせが鉄板です。
# 自宅PCでtmuxセッションを作成しておく
tmux new -s claude
# Claude Codeを起動
claude
# 外出先からSSHで接続してアタッチ
ssh user@my-devserver -t "tmux attach -t claude"
tmuxを使えば:
- SSH接続が切れてもClaude Codeのセッションは継続する
- 電車でトンネルに入っても、Wi-Fiが切り替わっても大丈夫
- 再接続すればセッションの続きからすぐに作業再開
Tailscaleの安定した接続 + tmuxのセッション永続化で、接続断を気にせず外出先からAI開発ができます。
セキュリティまとめ:なぜTailscaleが安全なのか
| 脅威 | 従来のSSH | Tailscale + SSH |
|---|---|---|
| ポートスキャン | ポート22が公開される | ポートが公開されない |
| ブルートフォース攻撃 | fail2banなどで対策が必要 | そもそも到達できない |
| 中間者攻撃 | 適切なホスト鍵検証が必要 | WireGuardが自動で防止 |
| フリーWi-Fiの盗聴 | SSHの暗号化のみ | WireGuard + SSH の二重暗号化 |
| 秘密鍵の漏洩 | サーバーに影響 | Tailscale SSHなら鍵自体が不要 |
従来のSSH接続では、セキュリティを確保するために多くの知識と設定が必要でした。Tailscaleを使えば、デフォルトの状態で十分に安全です。
よくある質問
Q: Tailscaleを使うと通信速度は落ちますか?
ほとんどの場合、体感できる速度低下はありません。TailscaleはP2P接続を確立するため、VPNサーバーを経由する一般的なVPNより高速です。WireGuardプロトコル自体もオーバーヘッドが非常に小さく、SSH接続には十分すぎる速度が出ます。
Q: Tailscaleの無料プランで十分ですか?
個人でClaude Codeを使う用途なら、無料プランで十分です。最大100デバイスまで接続でき、帯域制限もありません。
Q: 自宅PCがスリープしたらどうなりますか?
PCがスリープすると接続できなくなります。Claude Codeのセッションを常時維持したい場合は、スリープを無効にするか、Wake-on-LANと組み合わせてください。
Q: Tailscaleのサーバーがダウンしたら接続できなくなりますか?
すでに確立されたP2P接続は、Tailscaleのコーディネーションサーバーがダウンしても維持されます。新しい接続の確立にはコーディネーションサーバーが必要ですが、Tailscale社のSLAは99.9%以上の稼働率です。
スマホからClaude Codeを操作するなら
ここまでの手順で、PCからの安全なSSH接続は構築できました。では、スマホからClaude Codeを操作したい場合はどうでしょうか?
スマホにもTailscaleアプリをインストールすれば、ネットワークの安全性は確保できます。あとはSSHクライアントアプリが必要です。
SSHクライアントアプリに求められる機能
スマホからClaude Codeを快適に使うには、以下の機能を持つSSHアプリを選びましょう。
- 日本語入力対応 — Claude Codeに日本語で指示を出せること。IMEモード搭載アプリなら文字化けの心配がない
- バックグラウンド接続維持 — Claude Codeが長時間タスクを実行中でも、アプリを切り替えて待てる
- SFTPファイルブラウザ — Claude Codeが生成・編集したファイルを、ターミナルを離れずに確認できる
- 入力アシストツールバー — Ctrl+C、Tab、矢印キーなどをワンタップで入力できる
Tailscaleで安全なネットワークを構築し、お好みのSSHクライアントでスマホからClaude Codeに接続する。この組み合わせなら、いつでもどこでも安全にAI開発ができます。
おすすめのSSHクライアントはこちらの比較記事で紹介しています。
まとめ
Tailscaleを使えば、ポート開放もVPN構築も不要で、安全にClaude Codeへリモート接続できます。
- Tailscaleをインストールしてログインするだけ — 設定はほぼゼロ
- WireGuardによるエンドツーエンド暗号化 — フリーWi-Fiでも安全
- ポートを公開しない — 攻撃対象にならない
- MagicDNSでホスト名アクセス — IPアドレスを覚えなくていい
- tmuxと組み合わせれば接続断も怖くない
「自宅のPCでClaude Codeを動かして、どこからでも安全に使いたい」——Tailscaleは、そのための最もシンプルな答えです。