Claude Code を VPS に常駐させてスマホから操作する (Remote Control + tmux + Tailscale)
ノート PC を閉じても Claude Code のタスクが止まらない環境を VPS に作ります。公式の Remote Control でスマホから操作する方法と、Tailscale 経由の SSH + tmux で画面ごと覗く方法を、実機の手順と使い分けつきでまとめました。再起動後の自動復帰まで。
本記事にはプロモーション (アフィリエイト広告) が含まれます。
Claude Code に長いタスクを任せたまま席を離れたい。ノート PC を閉じたら止まる、というのが唯一の不満でした。解決策は単純で、Claude Code を VPS で動かして、手元のデバイスは「見る・指示する」だけにする ことです。
この記事では、月 2,000 円台の VPS に Claude Code を常駐させ、スマホから操作できるようにします。方法は 2 つあり、目的で使い分けます。
| 方法 | できること | 向いている場面 |
|---|---|---|
| A. Remote Control (公式) | Claude アプリ / claude.ai/code から会話・承認・差分確認 | 普段使い。ポート開放不要で一番楽 |
| B. SSH + tmux | ターミナル画面そのものを見る。Claude Code 以外も操作できる | 詰まったときの調査、サーバー自体の作業 |
A だけで日常は回ります。B は保険です。
そもそも VPS が要るか
先に正直に書いておくと、「スマホから Claude Code を使いたい」だけなら Claude Code on the web (Anthropic がクラウドで実行する) で足ります。VPS を選ぶ理由は次のどれかに当てはまるときです。
- 自分の環境 (インストール済みのツール、MCP サーバー、cron、データベース) の上で動かしたい
- n8n や Ollama など、同じマシンで他のサービスも動かしたい
- セッションが終わってもファイルや状態が残る、自分のマシンが欲しい
私はこの 3 つすべてに当てはまったので VPS にしました。
この記事で使う環境
- VPS: XServer VPS クラウド 4GB プラン、Ubuntu 24.04。初期設定 が済んでいる前提です
- Claude: claude.ai の有料プラン (Pro 以上)。Remote Control は API キーでは使えず、claude.ai へのログインが必要です
- 手元: Android (Pixel 7a) に Claude アプリ、Tailscale アプリ、Termius。iPhone でも同じ構成で動きます
Remote Control を起動した状態でのメモリはこうでした。
free -h
total used free shared buff/cache available
Mem: 3.8Gi 703Mi 2.3Gi 5.1Mi 1.1Gi 3.1Gi
Swap: 2.0Gi 0B 2.0Gi
初期設定直後が 444MB だったので、Tailscale と Claude Code で 260MB ほど 増えた計算です。4GB のうち 3.1GB が空いているので、n8n や Ollama を同居させる余裕は十分あります。
1. Claude Code を VPS に入れる
作業用ユーザー (この記事では deploy) で SSH し、公式のインストーラーを使います。Node.js は不要です。
curl -fsSL https://claude.ai/install.sh | bash
Setting up Claude Code...
✔ Claude Code successfully installed!
Version: 2.1.271
Location: ~/.local/bin/claude
⚠ Setup notes:
● Native installation exists but ~/.local/bin is not in your PATH. Run:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
~/.local/bin に入り、PATH に追加するよう案内されるので、その通りにします。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
claude --version
この記事の時点のバージョンは 2.1.271 です。Claude Code は更新が速いので、claude update で追いかけられます。
ログイン
claude を起動して /login を実行します。VPS にはブラウザがないので、ターミナルに認証用の URL が表示されます。
claude
/login
流れはこうです。
- ターミナルに URL が表示される。SSH クライアントがリンクとして認識するので、クリックするか、コピーして手元の Mac のブラウザで開く
- ブラウザで claude.ai にログインする
- ログイン後に認証コードが表示されるので、それを VPS のターミナルに貼り付ける
これでログイン完了です。認証情報は VPS の ~/.claude に保存されるので、以降は聞かれません。
2. tmux で「閉じても消えない」ターミナルを作る
SSH を切ると、その上で動いていたプロセスも終わります。tmux の中で動かせば、SSH を切っても (スマホの画面を閉じても) 動き続けます。
sudo apt install -y tmux
XServer のイメージには最初から入っていました (3.4)。
作業ディレクトリを作り、claude という名前のセッションを立てます。
mkdir -p ~/workspace/test-project && cd ~/workspace/test-project
tmux new -s claude
画面の下に緑のステータスバーが出て、[claude] 0:bash* と表示されていれば tmux の中にいます。

この中で次の手順の Remote Control を起動します。tmux から抜けるときは Ctrl-b のあと d です。戻るときは tmux attach -t claude です。
3. 方法 A: Remote Control でスマホから操作する
Remote Control は、VPS 上で動く Claude Code のセッションに、Claude アプリや claude.ai/code から接続する公式機能です。通信はすべて Anthropic の API 経由 (TLS) なので、VPS 側でポートを開ける必要がありません。ufw は初期設定のまま (SSH だけ) で動きます。
サーバーモードで起動する
tmux の中で実行します。
cd ~/workspace/test-project
claude remote-control
初回は次のように確認されるので y を入力します。
Take this session with you and pick up right where you left off on any device.
Open the Code tab in the Claude mobile app, or visit claude.ai/code in a browser.
The session keeps running on this machine. Use your other devices as a remote
control. Press Ctrl+C to stop.
Enable Remote Control? (y/n)
起動すると、接続状態とセッション URL が表示されます。
·✔︎· Connected · test-project · HEAD
Capacity: 1/32 · New sessions will be created in the current directory
vpsnotes-001-zesty-gizmo
Continue coding in the Claude mobile app or https://claude.ai/code?environment=env_xxxxxxxx
space to show QR code
Capacity: 1/32 とあるように、この 1 つのサーバーで最大 32 セッションを扱えます。スマホ側で新しいセッションを作ると、このディレクトリで始まります。セッション名は指定しなければ ホスト名-形容詞-名詞 の形で自動で付きます。test-project · HEAD は、作業ディレクトリが git リポジトリとして認識されていることを示していて、後述の差分表示に使われます。
QR コードはスペースキーで表示されます。
スマホから繋ぐ
Claude アプリで QR コードを読むと、その環境が登録されてセッションが開きます。私は Pixel 7a で試しました。一度読めばアプリの「Code」タブのセッション一覧に残るので、次からは QR なしで一覧から開けます。あとは普段の Claude Code と同じで、指示を送る、ツール実行の承認をする、git の差分を見る、といった操作がスマホからできます。
試しに「hello.txt を作って」と送ってみました。流れはこうです。
- スマホに「hello.txt を書き込みすることを許可しますか?」と承認を求める表示が出る
- 「このセッションでは常に許可」を選ぶ (1 回だけなら「許可」)
- 「hello.txt を作成しました」と返り、VPS の作業ディレクトリに
Hello!と書かれたファイルができている
手元の PC で Claude Code を使うときと同じ承認の流れが、そのままスマホで動きます。「このセッションでは常に許可」を選ぶと、同じ種類の操作は以降聞かれなくなります。
PC を閉じても動くことを確かめる
この記事の目的はここです。VPS のターミナルで Ctrl-b → d を押して tmux から抜け、SSH も切ります。
[detached (from session claude)]
この状態でスマホから「hello.txt に 1 行追記して」と送ると、「Hello again! の行を追記しました」と返ってきました。SSH が切れていても、tmux の中で Claude Code が動き続けています。戻るときは SSH で入って tmux attach -t claude です。
作業ディレクトリが git リポジトリなら、スマホ側の diff ペインに未コミットの差分が出ます。何をされたかを確認してから承認できるので、これが使えると安心感がまったく違います。
名前をつけて複数セッションを扱う
セッション名は --name で指定できます。指定しないと ホスト名-形容詞-名詞 のような名前が自動でつきます。プロジェクトごとに tmux のウィンドウを分けて、それぞれで claude remote-control --name <プロジェクト名> を立てておくと、スマホ側で切り替えやすいです。
落ちたときの復帰
Ctrl+C で止めた場合、約 4 時間以内なら claude remote-control を同じディレクトリで実行し直すだけで、提供していたセッションが戻ります。VPS 側のネットワークが 10 分以上切れるとサーバーモードは自動終了するので、その場合も同じコマンドで復帰します。
VPS は unattended-upgrades の自動再起動や、事業者側のメンテナンスで再起動することがあります。そのとき tmux も Claude Code も消えるので、再起動後に自動で立ち上げたいなら、cron の @reboot で tmux ごと起動しておきます。@reboot は「起動時に 1 回」を意味する cron の特殊指定で、0 4 * * * のような時刻指定の代わりに使えます。起動直後はネットワークが上がりきっていないことがあるので、sleep 20 で少し待たせています。
crontab -e
@reboot sleep 20 && tmux new -d -s claude -c /home/deploy/workspace/test-project '/home/deploy/.local/bin/claude remote-control'
cron から起動するときは ~/.bashrc が読まれず、~/.local/bin に PATH が通っていないので、claude はフルパスで書きます。行の位置はどこでも構いません。保存後に crontab -l で確認できます。
実際に sudo reboot して確かめました。1 分ほどで SSH できるようになり、tmux ls にセッションがあります。
tmux ls
claude: 1 windows (created Tue Sep 15 09:23:08 2026)
tmux attach -t claude で中を見ると、Remote Control が Connected で立ち上がっていました。初回の確認 (y/n) は一度通してあるので、cron からでも対話なしで起動します。しかも環境 ID (env_...) が再起動前と同じなので、スマホに登録した環境はそのまま使えます。QR を読み直す必要はありません。
スマホの Claude アプリに通知を出すには、アプリを一度開いてプッシュトークンを登録しておく必要があります。/config で「No mobile registered」と出る場合はそれが原因です。
4. 方法 B: SSH + tmux で画面ごと見る
Remote Control で見えるのは Claude との会話です。Claude Code 自体が固まった、VPS の様子を見たい、別のコマンドを打ちたい、という場面ではターミナルそのものが要ります。そこで、スマホから SSH で入って tmux attach します。
問題は「外出先からどうやって VPS の SSH に届くか」です。22 番をインターネットに開けたままにするのは避けたいので、Tailscale を使います。VPS とスマホを同じプライベートネットワークに入れ、SSH はその中だけで通します。VPS 側の設定は Tailscale の記事 で済ませてある前提です。あちらで SSH をインターネットから閉じてあるので、届く経路は Tailscale だけになっています。
スマホから繋ぐ
- スマホに Tailscale アプリを入れ、同じアカウントでログインして接続を ON にする
- SSH クライアントを入れる。Android には標準で入っていないので、Termius (無料版で十分) か JuiceSSH を Google Play から。iPhone なら Termius か Blink Shell
- ホスト
vpsnotes-001、ユーザーdeploy、ポート 22 で接続する。ホスト名は MagicDNS が解決してくれるので IP を覚える必要はありません。認証は Tailscale SSH が処理するので、鍵もパスワードも設定しなくて繋がります - 入ったら
tmux attach -t claude
Pixel 7a の Termius から入ったところです。Remote Control のサーバー画面がそのまま見えています。

Termius にはキーボードの上に Ctrl Esc shift tab などのキーが並ぶので、tmux の Ctrl-b や Claude Code の操作もスマホでできます。横向きにすると TUI が読みやすくなります。
5. おまけ: スマートグラスに映す
Even Realities の Even G2 には Terminal Mode という機能があり、Claude Code のセッション状態をレンズに表示できます。VPS で動かす場合は、ホスト側の even-terminal にスマホから届く経路が要るので、ここでも Tailscale が効きます。持っている人向けに、別の記事で扱います。
セキュリティで気をつけること
VPS はインターネットに直接置かれたマシンです。手元の PC と同じ感覚で動かすと事故になります。
- 専用ユーザーで動かす。root で
claudeを起動しない --dangerously-skip-permissionsを常用しない。Remote Control から承認できるので、承認を飛ばす理由がなくなります- 秘密情報はリポジトリに置かない。
.envは.gitignoreに入れ、必要なら 1Password CLI などから読む - ポートは開けない。Remote Control は開けなくて動きます。SSH と even-terminal は Tailscale の中だけ
claudeのログイン情報は~/.claudeにある。VPS を手放すときは削除する
かかる費用
- XServer VPS クラウド 4GB / NVMe 50GB: 月 2,480 円 (12 か月契約なら 2,068 円)。初月は日割りで、キャンペーン中なら利用期間が延びます (詳しくは申し込みの記事)
- Claude Pro: 月 20 ドル。既に契約していれば追加費用なし
- Tailscale: 個人利用は無料
つまずいた点
- スマホのアプリで元の画面に戻ってしまい、戻り方が分からなかった。QR で繋いだあと、アプリのメニューを触ったら普段の Claude の画面に戻り、「もう一度 QR を読むのか」と迷いました。Code タブのセッション一覧に残っているので、そこから開けます。QR は環境の登録で、初回だけです
- cron の
@rebootを初めて使った。時刻指定の書き方しか知らなかったので、「起動時に 1 回」の指定があることに驚きました。cron から起動すると~/.bashrcが読まれないので、claudeはフルパスで書く必要があります - スマホのスクショを Mac に送る手段。この記事のスマホの画面は、Tailscale の Taildrop で Pixel から Mac に送っています。両方に Tailscale が入っているので、共有メニューから直接届きます
インストールから再起動後の復帰確認まで、1 時間ほどでした。Remote Control 自体は 10 分で動きます。
次にやること
- まだなら、SSH をインターネットから閉じて Tailscale だけにする。方法 B はこの構成が前提です
- 同じ VPS に n8n を立てて、Claude Code から MCP で呼ぶ (準備中)
まとめ
- Claude Code を VPS + tmux で動かせば、PC を閉じてもタスクは止まらない
- 普段の操作は Remote Control。ポート開放不要で、スマホから承認と差分確認ができる
- 画面そのものが必要なときは Tailscale 経由の SSH で
tmux attach - VPS はインターネットに直接置かれている。専用ユーザー、承認スキップなし、ポートは開けない