AndroidスマートフォンからClaude CodeをTailscaleとTermiusで操作する実践的完全ガイド【2025年版】
🎯 このガイドで実現できること
- 外出先からのAI開発支援: 通勤中・カフェ・移動中でもスマホからClaude Codeを操作
- セキュアなリモートアクセス: Tailscale VPNによる安全な接続
- 定額利用: Claude MaxプランでAPI従量課金を気にせず使用
- 簡単セットアップ: 複雑なネットワーク設定不要
📋 必要なもの
- Windows 10/11 PC (開発用メインマシン)
- Android端末 (Android 6.0以上)
- Claude MaxプランまたはAnthropic APIキー
- 安定したインターネット接続
Phase 1: WSL Ubuntu環境構築
1.1 WSLインストール
管理者権限のPowerShellで実行:
# WSLとUbuntu同時インストール wsl --install -d Ubuntu-24.04 # システム再起動(必須)
1.2 Ubuntu初期設定
再起動後、スタートメニュー → Ubuntuを起動:
# ユーザー名とパスワード設定(SSH接続で使用するため記録必須) # 例: ユーザー名「dev」、パスワード「複雑なパスワード」 # システム更新 sudo apt update && sudo apt upgrade -y # 必須パッケージインストール sudo apt install -y curl wget git build-essential openssh-server
Phase 2: Node.js環境構築(Windows混在回避)
2.1 NVM完全クリーンインストール
# 既存設定クリア rm -rf ~/.nvm # NVMインストール curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 設定を.bashrcに追加 cat > ~/.bashrc # NVM Configuration export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" EOF # ターミナル再起動 exec bash
2.2 Node.js LTSインストール
# NVM動作確認
nvm --version
# Node.js LTS版インストール
nvm install --lts
nvm use --lts
nvm alias default node
# Linux環境確認(重要)
which node
# 出力: /home/dev/.nvm/versions/node/v22.16.0/bin/node
node -e "console.log('Platform:', process.platform)"
# 出力: Platform: linux
2.3 npm設定最適化
# ユーザー専用グローバルディレクトリ mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' # 環境変数設定 echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
Phase 3: Claude Codeインストール
3.1 Claude Code正常インストール
# npmキャッシュクリア npm cache clean --force # Claude Codeインストール npm install -g @anthropic-ai/claude-code # インストール確認 claude --version # 出力: 1.0.17 (Claude Code) which claude # 出力: /home/dev/.npm-global/bin/claude
3.2 Claude Code初期設定
# プロジェクトディレクトリ作成 mkdir -p ~/projects/claude-workspace cd ~/projects/claude-workspace # Claude Code初回起動・認証 claude login
認証手順: 1. console.anthropic.comでアカウント作成 2. API Keysから新しいキー生成 3. 生成されたAPIキーをターミナルに入力
Phase 4: SSH環境構築(systemd問題回避)
4.1 SSH権限ディレクトリ作成
# SSH権限分離ディレクトリ作成 sudo mkdir -p /run/sshd sudo chmod 755 /run/sshd # SSHホスト鍵生成 sudo ssh-keygen -A
4.2 SSH設定ファイル最適化
# SSH設定編集 sudo nano /etc/ssh/sshd_config # 以下の設定を確認/追加 Port 22 PasswordAuthentication yes PermitRootLogin no ClientAliveInterval 60 ClientAliveCountMax 3 MaxAuthTries 3
4.3 SSH手動起動(systemd回避)
# SSH設定テスト
sudo /usr/sbin/sshd -t
# SSH手動起動
sudo /usr/sbin/sshd
# プロセス確認
ps aux | grep sshd | grep -v grep
# 出力例: root 17892 0.0 0.0 15440 5516 ? Ss 21:56 0:00 sshd
# ポート確認
sudo ss -tlnp | grep :22
# 出力例: LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=17892,fd=3))
# WSL IPアドレス確認
hostname -I
Phase 5: Tailscale設定
5.1 Windows側Tailscale
- Tailscale公式サイトからダウンロード・インストール
- Googleアカウントでサインアップ
- タスクバーアイコンからIPアドレス確認(
100.x.x.x形式)
5.2 WSL側Tailscale
# Tailscale公式リポジトリ追加 curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list # Tailscaleインストール sudo apt update sudo apt install tailscale # Tailscale認証 sudo tailscale up # Tailscale IPアドレス確認 tailscale ip -4
Phase 6: Android端末設定
6.1 必要アプリインストール
Google Play Storeから以下をインストール: - Tailscale: VPN接続用 - Termius: SSH接続用
6.2 Tailscaleアプリ設定
- PC側と同じアカウントでログイン
- VPN接続を有効化
- 設定 → アプリ → Tailscale → バッテリー → 最適化しない
6.3 Termius接続設定
新しいホスト作成:
方法1: ローカル接続
Label: WSL Claude Dev (Local) Username: dev Password: (Ubuntu設定時のパスワード) Port: 22
方法2: Tailscale接続(推奨)
Label: WSL Claude Dev (Tailscale) Username: dev Password: (同じパスワード) Port: 22
接続オプション設定: - Keep Alive: 30秒 - Compression: 有効 - SSH Agent: 有効
Phase 7: 動作確認と使用方法
7.1 接続テスト
7.2 Claude Code使用例
# Termius接続成功後 cd ~/projects/claude-workspace # Claude Code起動 claude # 実用例 "TypeScriptとExpress.jsでREST APIを作成してください。 ユーザー認証、CRUD操作、エラーハンドリング、 Swagger/OpenAPI仕様書を含めてください。"
🔧 自動化スクリプト
SSH自動起動スクリプト
# 起動スクリプト作成
nano ~/start-dev.sh
# スクリプト内容
#!/bin/bash
echo "🚀 Starting Claude Development Environment"
# SSH権限ディレクトリ確認
sudo mkdir -p /run/sshd 2>/dev/null
# SSH起動
if ! ps aux | grep -q "[s]shd"; then
sudo /usr/sbin/sshd
echo "✅ SSH server started"
else
echo "✅ SSH server already running"
fi
# 接続情報表示
LOCAL_IP=$(hostname -I | awk '{print $1}')
TAILSCALE_IP=$(tailscale ip -4 2>/dev/null)
echo "📡 Local IP: $LOCAL_IP:22"
echo "🔒 Tailscale IP: $TAILSCALE_IP:22"
echo "🤖 Claude Code: $(claude --version)"
echo "🎯 Ready for mobile connection!"
# 実行権限付与
chmod +x ~/start-dev.sh
使用方法:
# WSL起動時に実行 ./start-dev.sh
⚠️ トラブルシューティング
問題1: NVM command not found
# NVM設定の再適用 source ~/.bashrc # または export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
問題2: Claude Code Windows混在エラー
# 環境確認 which node # Linux パスが表示されること node -e "console.log(process.platform)" # "linux"が出力 # Windows Node.js除去 export PATH=$(echo $PATH | tr ':' '\n' | grep -v '/mnt/c' | tr '\n' ':' | sed 's/:$//')
問題3: SSH接続失敗
# SSH再起動 sudo pkill sshd sudo /usr/sbin/sshd # プロセス確認 ps aux | grep sshd | grep -v grep sudo ss -tlnp | grep :22
問題4: Tailscale接続エラー
# Tailscale再起動 sudo tailscale down sudo tailscale up # 状態確認 tailscale status
🎯 日常使用フロー
1. 環境起動(WSL側)
./start-dev.sh
2. Android接続
- Tailscale VPN接続確認
- Termius → Tailscale接続ホスト選択
- パスワード入力で接続
3. Claude Code使用
cd ~/projects/claude-workspace claude
🔒 セキュリティ強化(オプション)
SSH公開鍵認証
# SSH鍵生成 ssh-keygen -t ed25519 -f ~/.ssh/claude_mobile # 公開鍵登録 cat ~/.ssh/claude_mobile.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys # Termiusに秘密鍵インポート後、パスワード認証無効化 sudo nano /etc/ssh/sshd_config # PasswordAuthentication no
📊 完成した環境仕様
アーキテクチャ
Android (Tailscale + Termius)
↓ セキュアVPN + SSH
Windows PC (WSL Ubuntu 22.04)
├── NVM + Node.js v22.16.0
├── Claude Code 1.0.17
├── OpenSSH Server
└── Tailscale VPN
🎉 まとめ
この手順により、Windows環境の制約を克服し、AndroidスマートフォンからClaude Codeを活用した次世代モバイル開発環境が完成します。
主要な利点: - ✅ 時間・場所に制約されない開発環境 - ✅ セキュアなVPN接続による安全性 - ✅ 定額制での安心利用 - ✅ 自然言語による直感的なAI開発支援
外出先や移動中でも、AI エージェントとの対話による本格的な開発作業をお楽しみください!
[2] https://note.com/zilo/n/n182ad680abae [3] https://phpfashion.com/en/how-to-install-claude-code-beginners-guide [4] https://zenn.dev/fuku_tech/articles/bba079706955fd [5] https://superuser.com/questions/1719393/how-does-wsl-wsl2-wslg-work-without-systemd [6] https://tailscale.com/kb/1079/install-android [7] https://gridpane.com/kb/easily-connect-to-your-servers-with-termius/ [8] https://tailscale.com/kb/1193/tailscale-ssh [9] https://github.com/anthropics/claude-code/issues/188 [10] https://note.com/generative_ai/n/n498b9a674d9e [11] https://github.com/anthropics/claude-code/issues/1178 [12] https://zenn.dev/acntechjp/articles/ea42d09a6c2f18 [13] https://zenn.dev/zuzuzu/articles/claude-code-wsl-setup [14] https://jmmv.dev/2022/02/wsl-ssh-access.html [15] https://docs.anthropic.com/en/docs/claude-code/troubleshooting [16] https://cathut-necogoya.com/articles/unity/2025/06/08/1300/ [17] https://www.anthropic.com/engineering/claude-code-best-practices [18] https://github.com/devlights/blog-summary/blob/master/README.md [19] https://github.com/erbanku/awesome [20] https://superuser.com/sitemap-questions-0.xml [21] https://rasa.github.io/scoop-directory/by-score.html [22] https://ja.linux-console.net/?all [23] https://zenn.dev/maguroid/articles/aa9d043f9939b4 [24] https://qiita.com/htanaka0828/items/70210fe4bc4af132671e [25] https://askubuntu.com/questions/1339980/enable-ssh-in-wsl-system [26] https://www.hanselman.com/blog/how-to-ssh-into-wsl2-on-windows-10-from-an-external-machine [27] https://learn.microsoft.com/en-us/windows/wsl/systemd [28] https://gist.github.com/ndraiman/34a10eff52407d67354eec65fd20d414 [29] https://tailscale.com/blog/may-25-product-update [30] https://www.fahimai.com/how-to-use-tailscale [31] https://tailscale.com/kb/1017/install [32] https://github.com/anthropics/claude-code/issues/364 [33] https://docs.anthropic.com/en/docs/claude-code/getting-started [34] https://github.com/angristan/awesome-stars/blob/master/README.md?9O2OnQcNauOO=XeEp6sRYU [35] https://cs.linux-console.net/?all [36] https://www.reddit.com/r/Fedora/comments/jmydtz/how_do_i_run_an_ssh_server_without_systemd/ [37] https://unix.stackexchange.com/questions/639866/how-to-start-a-service-in-a-wsl-based-fedora [38] https://gist.github.com/dentechy/de2be62b55cfd234681921d5a8b6be11 [39] https://tailscale.com/kb/1384/android-mdm [40] https://www.youtube.com/watch?v=1wqUoiDIxqU [41] https://cloudpepper.io/docs/connect-to-your-server-using-ssh-with-termius/ [42] https://gist.github.com/aschober/eeb316027c5037fc3af5fb0327ab44fd [43] https://www.linkedin.com/pulse/solution-mcp-servers-connection-issues-nvmnpm-chan-meng-a762c [44] https://www.reddit.com/r/ClaudeAI/comments/1ji8ruv/my_claude_workflow_guide_advanced_setup_with_mcp/ [45] https://www.codecademy.com/article/claude-code-tutorial-how-to-generate-debug-and-document-code-with-ai [46] https://github.com/wonderwhy-er/DesktopCommanderMCP [47] https://www.reddit.com/r/ClaudeAI/comments/1l0mx7z/ways_for_claude_code_to_use_ssh/