SSH + Tailscale で、iPhone から Claude Code を動かす
2026-07-17
このガイドで作る構成はこうです。開発マシン(自宅のデスクトップ、職場のワークステーション、VPS)をプライベートな Tailscale ネットワークに参加させ、iPhone からはどこにいても SSH で接続します。ポート開放も固定 IP も不要です。Claude Code はマシン上の tmux 内で動き、スマホはそのターミナルとして機能します。
ポート22をインターネットに開けるのはスキャナと総当たり攻撃を招くだけ。tailnet なら SSH は自分のデバイスからのみ到達可能で、WireGuard により端到端で暗号化されます。
ステップ1:開発マシンを Tailscale に参加させる
# Linux
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
# macOS: install the Tailscale app and sign in
アカウントでログインすると、マシンに固定の 100.x.y.z アドレスが割り当てられ、MagicDNS を使えば devbox のような名前も付きます。tailscale status で確認しましょう。
ステップ2:iPhone 用の Auth Key を生成
Tailscale 管理コンソールで Auth Key を作成します。ServerCC はこのキーでアプリの内部から tailnet に参加します — iOS にシステム全体の Tailscale VPN をインストールする必要はありません。再利用可能キーが便利で、ServerCC は iOS キーチェーンに保存します。
ステップ3:ServerCC にサーバーを追加
ホスト:Tailscale IP(100.x.y.z)または MagicDNS 名(devbox)
認証:パスワードまたは SSH 鍵(暗号化鍵にも対応)
Tailscale 経由で接続をオンにして Auth Key を貼り付け — 詳細は Tailscale ドキュメントへ
まず Wi-Fi で接続を確認したら、モバイル回線でも試してください。結果は同じです。アプリはエフェメラルノードとして tailnet に参加し、その上で SSH をブリッジします。スマホの他のアプリには影響しません。
ステップ4:Claude Code を実行 — そしてアプリを閉じる
ワークスペースを開いて Claude Code をタップすると、開発マシンの tmux 持続セッション内で起動します。その後は画面をロックしても電波が切れても、実行はサーバー上で続きます。ServerCC を開き直せば同じセッションに再アタッチされますし、長い実行は完了時に通知させることもできます。
トラブルシューティング
- Auth Key が無効/期限切れ — 管理コンソールでローテーションし、サーバー設定を更新
- ホストに到達できない — 開発マシンがオフラインか tailnet から外れています。
tailscale statusを確認 - tmux 内で "claude: command not found" — PATH は profile 系ではなく
.bashrc/.zshrcに書く
モバイルワークフローについてさらに:Claude Code を iPhone で · iOS で tmux