セットアップ

VPS で Claude Code を動かす

常時稼働の小さなサーバーがあれば、Claude Code をノート PC から切り離し、あなたが作業していない間も働かせられます。すぐに立ち上げられ、動かしっぱなしにしても安全で、ほかのコーディングエージェントも載せられる構成を紹介します。

VPS で Claude Code を動かす

簡単な答え

RAM 4 GB 以上の Linux VPS を借り、root 以外のユーザーを作成し、SSH を鍵のみのログインに切り替えます。次に curl -fsSL https://claude.ai/install.sh | bash で Claude Code をインストールし(Node.js は不要)、claude auth login でログインして、SSH 越しにコードを貼り付けます。セッションは tmux、Remote Control、または Maude のようなセッションデーモンで維持します。

ノート PC ではなくサーバーで Claude Code を動かすと、3 つのことが手に入ります。ノート PC を閉じていても作業が続くこと。接続が切れても生き残ること。そして、SSH 鍵やブラウザのプロファイルが入ったマシンではなく、捨ててもいいマシンにエージェントを置けることです。このガイドでは、まっさらな Debian や Ubuntu のマシンで 15 分ほどで済む構成を紹介します。Alpine や Fedora でも、少し変えるだけで同じ手順が使えます。

Claude Code を含む Claude のプランが必要です。Pro、Max、Team、Enterprise、または Console のアカウントです。claude.ai の無料プランには含まれません。サブスクリプションでサインインすれば、管理すべき API キーも、上乗せの従量課金もありません。

1. マシンを選ぶ

Anthropic のシステム要件では、4 GB 以上の RAM と x64 または ARM64 のプロセッサーが求められています。対応する Linux は Ubuntu 20.04 以降、Debian 10 以降、Alpine 3.19 以降です。実際には、CLI よりもプロジェクトのツールチェーンのほうが必要なスペックを左右します。

  • 4 GB:ドキュメント上の最低要件。ほどほどのプロジェクトで 1 セッションなら十分です。
  • 8 GB:ある程度の規模のもの(バンドラー、テストスイート、コンテナ 1〜2 個)をビルドする場合や、複数のセッションを同時に動かす場合。
  • 16 GB:複数のエージェントを並行して動かす場合や、データベースも一緒に動かす場合。

Hetzner、DigitalOcean、Scaleway、OVH、Vultr など、どれでも使えますし、机の下の古いマシンでも構いません。そのマシンのターミナルで入力することがあるなら、近くのリージョンを選びましょう。ARM インスタンスは 1 GB あたりいちばん安いことが多く、Claude Code はネイティブに動きます。プロバイダーとサイズの比較はコーディングエージェントに最適な VPS のガイドをご覧ください。

2. root 以外のユーザーを作成する

多くの VPS イメージでは root でログインすることになります。エージェントを root で動かすのはやめましょう。どんなミスもシステム全体のミスになります。それに Claude Code は root ではバイパス権限モードでの起動を拒否するので、いずれにせよ通常のユーザーが必要になります。Debian や Ubuntu では次のとおりです。

adduser dev
usermod -aG sudo dev
rsync --archive --chown=dev:dev ~/.ssh /home/dev

Fedora では管理者グループは sudo ではなく wheel です。Alpine では先に sudo か doas をインストールします。最後の行は、今ログインしている鍵をコピーするので、何かを締める前に dev として接続し直せます。最初のターミナルを閉じる前に、2 つ目のターミナルから試してください。まっさらな VPS から自分を締め出すのは、避けて通りたい通過儀礼です。

3. SSH 鍵と堅牢化

まだパスワードでログインしているなら、まず鍵に切り替えましょう。自分のパソコンで ssh-keygen -t ed25519 で鍵を作成し、ssh-copy-id dev@your-server でアップロードします。鍵でのログインができたら、/etc/ssh/sshd_config を編集します。

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

その後 SSH を再起動します。Debian と Ubuntu では sudo systemctl restart ssh です。Fedora ではサービス名が sshd なので、sudo systemctl restart sshd を実行します。さらに固めるなら、fail2ban と、SSH だけを許可するファイアウォールを追加します。マシンをパブリックなインターネットに置く必要がまったくないなら、Tailscale のネットワークに入れましょう。スマホも同じネットワークに参加し、直接アクセスできます。

スマホから:SSH アプリはデバイス上で鍵を作成し、~/.ssh/authorized_keys に貼り付ける公開鍵を表示できます。Maude はこれを代わりに行います。「Set up key login」ボタンは、すでにサインインした接続を使って鍵を作成します。公開鍵をインストールし、新しい鍵をテストし、秘密鍵はスマホのキーチェーンにだけ保管します。

4. Claude Code をインストールする

Anthropic は現在、Node.js が不要なネイティブインストーラーを推奨しています。sudo ではなく、通常のユーザーとして実行してください。

curl -fsSL https://claude.ai/install.sh | bash
claude --version
claude doctor

ランチャーは ~/.local/bin/claude に置かれ、バックグラウンドで自動更新されます。claude doctor は、セッションを始めずにインストールと設定を確認します。ほかの方法もあります(いずれもセットアップのドキュメントより)。

  • 署名付きの apt、dnf、apk のリポジトリ。システムのパッケージマネージャーで管理したい場合に。自動更新はされず、システムのほかの部分と一緒にアップグレードします。
  • npm も引き続き使えます(npm install -g @anthropic-ai/claude-code、Node.js 22 以降)。同じネイティブバイナリがインストールされます。Anthropic は sudo npm install -g を使わないよう警告しています。
  • Alpine では bash、curl、libgcc、libstdc++、ripgrep が必要で、設定に USE_BUILTIN_RIPGREP=0 も加えます。

古いガイドで先に Node をインストールするよう言われていたなら、今はその手順を省略できます。

5. ブラウザなしでログインする

claude(または claude auth login)を実行し、指示に従います。VPS にはブラウザがないので、ログイン URL はほかのデバイスで開きます。Claude Code では c を押すと URL をコピーできます。そちらでサインインします。ブラウザが Claude Code のローカルのコールバックに届かない場合(SSH 越しでは普通のことです)、代わりにコードが表示されます。それを Paste code here if prompted の行に貼り付ければ、ログインはサーバー上で完了します。

認証情報は ~/.claude/.credentials.json にモード 0600 で保存されます。マシンはそれ相応に扱ってください。そのユーザーのシェルを持つ人なら誰でも、あなたの Claude のサブスクリプションを使えます。スクリプトや CI 向けには claude setup-token もあり、CLAUDE_CODE_OAUTH_TOKEN に設定する 1 年間有効なトークンを表示します。認証のドキュメントによると、このトークンはモデルへのリクエストにしか使えず、Remote Control のセッションは始められません。

6. 動かし続ける

SSH セッションのフォアグラウンドで始めたものは、その接続とともに終了します。一般的な解決策は tmux です。

sudo apt install tmux
tmux new -s work
# start claude, then detach with Ctrl-B then D
tmux attach -t work

デタッチしても、電波が途切れても、何時間もあとに再接続してアタッチし直せば、セッションは手つかずのままです。ただし tmux は再起動を乗り越えられません。再起動後は、claude --continue でそのディレクトリの最新の会話を再開できます。systemd やセッションデーモンなどほかの選択肢は、ノート PC を閉じても Claude Code を動かし続けるガイドで解説しています。

7. 同じマシンに、さらにエージェントを

Claude Code が動くサーバーなら、ほかのコーディングエージェントも並べて動かせます。どれもホームディレクトリにインストールされ、それぞれのログインを保持するので、互いに干渉しません。同時に動かすエージェントの分だけ、RAM に余裕を持たせてください。

エージェントインストールヘッドレスでのログイン
Codex(OpenAI)npm install -g @openai/codexcodex login --device-auth(先に ChatGPT のセキュリティ設定でデバイスコードでのログインを有効に)または API キー
OpenCodecurl -fsSL https://opencode.ai/install | bashTUI で /connect を実行し、プロバイダーのキーを貼り付ける
Grok Build(xAI)curl -fsSL https://x.ai/cli/install.sh | bash初回起動時のブラウザでのログイン、または XAI_API_KEY
Antigravity CLI(Google、agy)curl -fsSL https://antigravity.google/cli/install.sh | bashSSH 越しでは URL が表示されるのでコードを貼り付ける。または GEMINI_API_KEY を設定

出典:Codex の認証、OpenCode のドキュメント、Grok Build のドキュメント、Antigravity CLI のインストール。2026 年 10 月に確認しました。Codex と Antigravity には専用の手順があります:VPS で Codex CLI を動かす、サーバーで Antigravity CLI を動かす。Gemini CLI は個人の Google アカウントではもう使えず、Antigravity CLI がその後継です。

8. スマホからアクセスする

方法は 3 つあり、手間のかかるものから順に紹介します。

SSH アプリと tmux。Termius、Blink などのクライアントで tmux のセッションにアタッチします。無料で機能も揃っていますが、ソフトウェアキーボードでフルスクリーンのターミナルを操作することになります。比較はこちら。

Remote Control。tmux の中で claude remote-control を起動し、Claude アプリの Code タブからセッションを開きます。Pro、Max、Team、Enterprise に含まれています。Anthropic のドキュメントも、まさにこのケースのために tmux や screen を勧めています。使えるのは Claude だけで、セッションが出す権限の確認はスマホに届き、そこで答えます。アプリからセッションを Auto やバイパス権限に切り替えることはできません。

Maude。Maude を使えば手順 4 と 6 は Maude が代わりに行い、手順 5 はスマホから行います。アドレス、貼り付けた ssh … コマンド、または curl -fsSL https://maude.pilotdev.fr/setup | sh が表示する QR コードでサーバーを追加します。root でログインしている場合は、ボタン 1 つで手順 2 の root 以外のユーザーを作成できます。その後 Maude は SSH で自前のデーモンをデプロイし、私たちが検証して固定したバージョンで各エージェントをインストールします。Claude、Codex などへのサインインはスマホから行います。アプリを閉じてもセッションはサーバー上で動き続け、サーバーから Maude のリレーへ接続するので、NAT の内側でもポートを開けずに使えます。

9. 権限をどうするか決める

ここからが面白い問いです。無人でどこまでやらせるか。作り直せるサーバーは、本当に使い捨てとして扱っているなら、権限を緩めるのにふさわしい場所です。分類器が安全な操作を承認する Claude Code の自動モードで、その差の多くは埋まります。完全なバイパスには、手順 2 の root の制限を含め、独自のルールがあります。それは専用のページで解説しています:Claude Code をフル権限で安全に動かす。

目安

失っても深刻ではなく、面倒な程度で済むようにマシンを設定しましょう。作業はこまめにリモートへプッシュし、ほかのどこにもない秘密情報は置かず、作り直すかもしれない前提でいること。それが成り立てば、上のどの判断も簡単になります。

スマホから動かす

サーバーが立ち上がったら、Claude Code をスマホでで Maude がどう操作するかを紹介しています。Claude だけでなくほかのエージェントも使うなら、エージェントの概要から始めてください。

よくある質問

Claude Code にはどれくらいの RAM が必要ですか?
Anthropic は 4 GB 以上を要件としています。これでほどほどのプロジェクトの 1 セッションはまかなえます。ビルド、テストスイート、コンテナ、データベース、並行するセッションがあると 8 GB 以上が必要になるので、CLI ではなくプロジェクトに合わせてサイズを決めてください。
ブラウザなしでサーバー上の Claude Code にログインできますか?
はい。claude か claude auth login を実行し、表示された URL を任意のデバイスで開いてサインインします。SSH 越しでは、ブラウザはリダイレクトせずにコードを表示することが多いので、それをターミナルのプロンプトに貼り付けます。非対話的なスクリプト向けには claude setup-token で長期間有効なトークンを作れますが、Remote Control のセッションは始められません。
root で動かすべきですか?
いいえ。sudo 権限を持つ通常のユーザーを作成してください。root ではどんなミスもシステム全体のミスになりますし、Linux と macOS では Claude Code は root や sudo でのバイパス権限モードでの起動を拒否するので、いずれにせよ無人での実行ができなくなります。
複数のエージェントで 1 台の VPS を共有できますか?
はい。Claude Code、Codex、OpenCode、Grok Build、Antigravity CLI はそれぞれユーザーごとにインストールされ、ログインも別々なので、衝突せずに並べて使えます。同時に動かす数に合わせて RAM を用意し、2 つのエージェントが同じチェックアウトを編集しないよう、プロジェクトごとに専用のディレクトリか git worktree を割り当ててください。
Node.js はまだ必要ですか?
Claude Code には不要です。ネイティブインストーラーや apt、dnf、apk のパッケージは Node.js を必要としません。npm パッケージも引き続きあり、そちらは Node.js 22 以降が必要です。Codex の主なインストール方法は npm なので、Codex を追加するなら Node があったほうがいいでしょう。

変更点

  • — インストール方法を Anthropic のネイティブインストーラーに変更(Node.js は不要に)。RAM の目安をドキュメント記載の最低 4 GB に合わせ、ヘッドレスでのコード貼り付けによるログインと setup-token を追記。同じマシンで Codex、OpenCode、Grok Build、Antigravity を動かすセクションを新設。
  • — 初版を公開。

サーバーの準備はできましたか?

Maude に指定すれば、デーモン、エージェント、更新まで残りはすべて Maude が行います。iOS、iPadOS、Android に対応。

Download Maude on the App Store Get Maude on Google Play