【T-04】iPhone一台で自宅PCを持ち歩く 〜Tailscaleで構築する”どこでも開発環境”〜
kome
🔧 TECH ARTICLE 🔧
〜 T-04 〜
iPhone一台で自宅PCを持ち歩く
⚙️ はじめに
外出先でも、リビングのソファでも、iPhoneから自宅のminiPCにSSH接続してClaude Codeを実行する。ポート開放なし、ルーター設定なし、セキュアなVPN接続で実現できます。
本記事では、Tailscaleを使って「どこでも開発環境」を構築する手順と、その背後にあるセキュリティ設計を解説します。
⚙️ この記事で実現できること
構成イメージ:
iPhone(外出先) miniPC(自宅)
┌──────────────┐ ┌──────────────┐
│ Termius │ │ Linux / Mac │
│ (SSHクライアント) │ ──────→ │ Claude Code │
│ │ 暗号化 │ Docker │
│ VNC Viewer │ トンネル │ Web UI │
└──────────────┘ └──────────────┘
│ │
└────── Tailscale ───────┘
100.64.x.x ネットワーク
ポート開放不要
ルーター設定不要
| 実現できること | 補足 |
|---|---|
| 外出先からiPhoneで自宅PCにアクセス | SSH / VNC / Web UI |
| リビングや布団の中からClaude Codeを実行 | miniPCの計算リソースを活用 |
| ポート開放なしのセキュア接続 | WireGuardベースの暗号化 |
| 荷物を減らして身軽に外出 | 重い処理は自宅PCに任せる |
⚙️ なぜTailscaleなのか
▸ 従来のリモートアクセスの問題
自宅PCに外部からアクセスする従来の方法は、設定が煩雑でセキュリティリスクも高いものでした。
従来の方法(ポート開放):
インターネット
│
▼
ルーター(ポート22を開放) ← 攻撃者もアクセス可能
│
▼
自宅PC(SSH)
問題点:
・ルーターのポートフォワーディング設定が必要
・ポートスキャンで発見されやすい
・ブルートフォース攻撃の標的になる
・動的IPの場合、DDNSも必要
▸ Tailscaleのアプローチ:メッシュVPN
TailscaleはメッシュVPNと呼ばれる仕組みで、これらの問題をすべて解消します。
Tailscaleの仕組み:
iPhone (100.64.y.y) miniPC (100.64.x.x)
│ │
└──── WireGuard暗号化 ────────┘
直接通信(P2P)
・ポート開放不要(NATトラバーサル自動処理)
・インターネットに入口を作らない
・認証された端末同士だけが通信可能
・通信は端末間で直接暗号化(サーバー経由しない)
▸ 3つの強み
| 特徴 | 詳細 |
|---|---|
| 設定が極めて簡単 | インストールしてログインするだけ。ルーター設定・ポート開放は一切不要 |
| どこでも同一LANのように通信 | 仮想IP(100.64.x.x)が自動割り当て。外出先でも自宅LANにいる感覚 |
| 標準で強固なセキュリティ | WireGuard暗号化 + デバイス単位の認証 + ACLによるアクセス制御 |
⚙️ 構築手順
▸ 全体の流れ
Step 1: Tailscaleインストール(miniPC + iPhone)
│
▼
Step 2: 接続確認(tailscale status)
│
▼
Step 3: SSH接続の設定
│
▼
Step 4: iPhoneから接続テスト
│
▼
完了: どこからでもアクセス可能
▸ Step 1: Tailscaleをインストール
miniPC側(Linux の場合):
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
macOS の場合:
brew install tailscale
sudo tailscale up
iPhone側:
1. App Storeで「Tailscale」をインストール
2. miniPCと同じアカウント(Google / GitHub等)でログイン
1. App Storeで「Tailscale」をインストール
2. miniPCと同じアカウント(Google / GitHub等)でログイン
▸ Step 2: 接続確認
両端末がオンラインになっているか確認します。
$ tailscale status
100.64.xxx.xxx mini-pc linux active
100.64.yyy.yyy iPhone iOS active
この
100.64.x.x がTailscaleの仮想LAN上のIPアドレスです。同じネットワーク上にいるのと同じ感覚で、このIPを使って通信できます。▸ Step 3: SSH接続の準備
miniPC側でSSHサーバーが有効になっていることを確認します。
# SSHサーバーの状態確認
sudo systemctl status sshd
# 起動していない場合
sudo systemctl enable --now sshd
▸ Step 4: iPhoneから接続
iPhoneにSSHクライアントアプリをインストールします。
| アプリ | 特徴 | 価格 |
|---|---|---|
| Termius | 多機能、SFTP対応、クラウド同期 | 無料(Pro版あり) |
| Blink Shell | Moshプロトコル対応、高速 | 有料 |
| a-Shell | ローカルシェル + SSH | 無料 |
接続情報:
Host: 100.64.xxx.xxx(tailscale statusで確認したIP)
User: miniPCのユーザー名
Auth: パスワード または SSHキー
接続できたら、Claude Codeを起動してみましょう。
$ claude
Claude Code が起動し、miniPC上でAIがコードを書き始める
⚙️ 接続方法の比較
SSH以外にも、用途に応じた接続方法があります。
| 方法 | 用途 | 設定 |
|---|---|---|
| SSH | コマンドライン操作、Claude Code実行 | SSHクライアントアプリから 100.64.x.x に接続 |
| VNC | GUI画面の操作(デスクトップ表示) | miniPCでVNC有効化、VNC Viewerから :5900 に接続 |
| Web UI | ブラウザベースのツール利用 | miniPCでサービス起動、Safariから http://100.64.x.x:ポート |
▸ 推奨構成
メイン: SSH接続(軽量・高速・安定)
サブ: VNC接続(GUI操作が必要な場合のみ)
補助: Web UI(ブラウザで使えるツール用)
⚙️ セキュリティ設計
▸ なぜTailscaleは安全なのか
従来のVPN Tailscale
┌────────────────┐ ┌────────────────┐
│ VPNサーバーが │ │ サーバー不要 │
│ 単一障害点 │ │ 端末間で直接通信 │
│ │ │ │
│ ポート開放必須 │ │ ポート開放不要 │
│ │ │ │
│ 全トラフィックが │ │ 通信は端末間で │
│ サーバー経由 │ │ P2P暗号化 │
└────────────────┘ └────────────────┘
| セキュリティ要素 | 説明 |
|---|---|
| WireGuard暗号化 | 最新の暗号化プロトコル。コード量が少なく監査が容易 |
| ゼロトラスト設計 | 認証された端末以外は一切接続不可 |
| NATトラバーサル | ポート開放が不要なため、外部からの攻撃対象にならない |
| ACL(アクセス制御リスト) | デバイス・ユーザー単位で通信許可を細かく設定可能 |
▸ 追加で推奨するセキュリティ対策
miniPC側のSSH設定で、セキュリティをさらに強化できます。
推奨するSSH設定(/etc/ssh/sshd_config):
PasswordAuthentication no ← パスワード認証を無効化
PubkeyAuthentication yes ← SSHキー認証のみ許可
PermitRootLogin no ← rootログイン禁止
⚙️ 無料プランの範囲
Tailscaleの個人利用は無料プランで十分です。
| 項目 | 無料プラン |
|---|---|
| デバイス数 | 100台まで |
| ユーザー数 | 3人まで |
| 主要機能 | SSH / VNC / ACL / MagicDNS |
| 料金 | 無料 |
個人の開発環境であれば、有料プランへのアップグレードは不要です。
⚙️ 実践シーン
シーン1: カフェで開発
iPhone(SSH)→ 自宅miniPC → Claude Codeでコード生成
重い処理は自宅PCが担当、iPhoneは端末として利用
シーン2: 移動中にログ確認
電車の中からサーバーログをチェック
異常があれば即SSH接続で対応
シーン3: リビングで軽作業
ソファからiPhoneでClaude Codeを起動
「ながら作業」でも開発環境にアクセス
シーン4: MacBook + miniPCの分担
MacBookで軽い作業、重い処理は自宅miniPCにSSH
荷物は最小限、計算リソースは最大限
⚙️ まとめ
Tailscaleを使えば、ポート開放なし・ルーター設定なしで、iPhoneから自宅PCへの安全なリモートアクセスが実現できます。
構築に必要なもの:
1. Tailscale → 両端末にインストールしてログイン
2. SSHクライアント → iPhone用アプリ(Termius等)
3. SSHサーバー → miniPC側で有効化
所要時間: 約15分
コスト: 無料
「場所に縛られない開発環境」は、もう特別なものではありません。iPhone一台あれば、自宅の開発環境が手元に現れます。
⚙️ 参考リンク
この記事はTailscaleを使ったリモート開発環境構築の実践ガイドです。
⚙️ Tech Series – T-04 🔧
Engineering the future…