🔧 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等)でログイン
▸ 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…