🔧 TECH ARTICLE 🔧
〜 T-04 〜
🔧 T-04 | iPhone一台で自宅PCを持ち歩く
〜Tailscaleで構築する”どこでも開発環境”〜
⚙️ はじめに
💬 ミク「ハルさん、最近カフェとかで作業してるって聞きました。外出先でも自宅のPC使えたらいいなって思いません?」
💬 ハル「そうそう!実はTailscaleというツールを使えばiPhoneだけで自宅のPCを操作できるんだよ。」
💬 ミク「え、ポート開放とかルーター設定なしで?」
💬 ハル「そうなんだ。しかもめちゃくちゃ安全に繋げる。今日はその仕組みを一緒に見ていこう!」
外出先でも、リビングのソファでも、iPhoneから自宅のminiPCにSSH接続してClaude Codeを実行する。ポート開放なし、ルーター設定なし、セキュアなVPN接続で実現できます。

⚙️ この記事で実現できること
構成イメージ:

  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も必要
💬 ミク「ポート開放ってそんなに危ないんですか?」
💬 ハル「SSHのポート22を開放すると、世界中のボットが24時間パスワードを試し続けてくる。ログを見ると1日に数千〜数万回のアクセスが来てることもある。Tailscaleはそもそもポートを開放しないから、そのリスクがゼロになる。」
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から接続テスト
    │
    ▼
完了: どこからでもアクセス可能(所要時間: 約15分)
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接続できたとき、感動するやつですね!」
💬 ハル「初回はちょっと感動するよ。iPhone片手にカフェで自宅PCのClaude Codeを動かせるって、開発の自由度がかなり上がる。」

⚙️ 接続方法の比較
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分
コスト:   無料
💬 ミク「試してみます!これで電車の中でもコード書けますね。」
💬 ハル「うん。最初はSSHできただけで感動するから、ぜひやってみて。『場所に縛られない開発環境』は一度体験すると手放せなくなるよ。」

⚙️ 参考リンク

この記事はTailscaleを使ったリモート開発環境構築の実践ガイドです。
⚙️ Tech Series – T-04 🔧
Engineering the future…