Claude Codeの設定 - リモートアクセス
概要
Claude Codeは、Anthropicが提供するAIエージェント型コーディングツールであり、OpenCodeのようなクライアント・サーバアーキテクチャを持たない。
そのため、OpenCodeの opencode serve や opencode web コマンドのようなサーバ起動コマンドは存在せず、HTTPサーバとして動作させることはできない。
しかし、以下に示す3つの方法でリモートアクセスを実現できる。
- SSH + Tailscale + tmux
- SSHでリモートサーバに接続し、Tailscaleでセキュアなネットワークを構築、tmuxでセッションを永続化する方法である。
- SSHでリモートサーバに接続し、Tailscaleでセキュアなネットワークを構築、tmuxでセッションを永続化する方法である。
- VS Code Remote SSH
- VS CodeのRemote SSH拡張機能を使用してリモートサーバに接続し、Claude Code拡張機能を使用する方法である。
- VS CodeのRemote SSH拡張機能を使用してリモートサーバに接続し、Claude Code拡張機能を使用する方法である。
- Remote Control (/rc)
- Claude Codeの組み込み機能を使用して、モバイルアプリやブラウザからローカルセッションを継続する方法である。
- Claude Codeの組み込み機能を使用して、モバイルアプリやブラウザからローカルセッションを継続する方法である。
下表に、各方法の特徴を示す。
| 方法 | 接続先 | 必要なプラン | 特徴 |
|---|---|---|---|
| SSH + Tailscale + tmux | リモートサーバ | 全プラン対応 | セッション永続化 低コスト |
| VS Code Remote SSH | リモートサーバ | 全プラン対応 | IDE統合 使いやすいUI |
| Remote Control (/rc) | ローカルPC | Max / Pro (予定) | モバイル対応 公式機能 |
方法 1 : SSH + Tailscale + tmux
SSHでリモートサーバに接続し、tmuxでセッションを永続化することで、Claude Codeをリモート環境で使用できる。
Tailscaleを使用することで、ポート転送や動的DNSの設定不要でセキュアな接続が可能である。
前提条件
- サーバ側
- Claude CodeがインストールされているLinuxディストリビューション : RHEL、SUSE、Debian等
- クライアント側
- SSHクライアントが動作する任意のデバイス : PC、スマートフォン等
- Tailscaleアカウント
- 無料アカウントで最大100デバイスまで接続可能である。
Tailscaleの設定
サーバ側の設定
Tailscaleをサーバにインストールして設定する。
# Tailscaleのインストール (Linux) curl -fsSL https://tailscale.com/install.sh | sh # Tailscaleにログイン sudo tailscale up
ログインが完了すると、サーバにTailscaleのIPアドレス (例: 100.64.1.5) が割り当てられる。
また、ホスト名 (例: myserver.ts.net) でアクセスできるようになる。
クライアント側の設定
クライアントデバイスにもTailscaleをインストールする。
- Windows / MacOS / Linux
- Tailscaleの公式サイトからインストーラをダウンロードしてインストールする。
- iOS / Android
- App Store または Google PlayからTailscaleアプリをインストールする。
サーバ側と同じTailscaleアカウントでログインすることにより、デバイス間で接続可能になる。
SSH接続設定
サーバ側のSSH設定
SSHサーバが有効になっていることを確認する。
# RHEL / SUSE sudo systemctl enable sshd sudo systemctl start sshd # ファイアウォールでSSHを許可 (firewalld使用時) sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload
クライアント側からの接続
Tailscale経由でSSH接続する。
# TailscaleのIPアドレスで接続 ssh <ユーザ名>@<IPアドレス または ホスト名 例: 100.64.1.5> # またはTailscaleのホスト名で接続 ssh <ユーザ名>@<IPアドレス または ホスト名 例: myserver.ts.net> </syntaxhighlight>
tmuxによるセッション永続化
tmuxのインストール
サーバ側にtmuxをインストールする。
# RHEL sudo dnf install tmux # SUSE sudo zypper install tmux # Debian sudo apt install tmux # MacOS brew install tmux </syntaxhighlight>
tmuxセッションの作成と使用
tmuxセッションを作成して、Claude Codeを実行する。
# 新しいtmuxセッションを作成 tmux new -s claude # Claude Codeを起動 claude # セッションからデタッチ ([Ctrl] + [B]キー → [D]キー) # セッションはバックグラウンドで継続する
tmuxセッションへの再接続
接続が切れた場合や別のデバイスから接続する場合、既存のセッションに再接続できる。
# セッション一覧を表示 tmux ls # 既存のセッションにアタッチ tmux attach -t claude # セッションが存在する場合はアタッチ、存在しない場合は新規作成 tmux new -A -s claude
SSH接続時に自動的にtmuxセッションに接続する設定
.ssh/config ファイルを設定することにより、SSH接続時に自動的にtmuxセッションに接続できる。
vi ~/.ssh/config
# ~/.ssh/configファイル Host claude-server HostName <ホスト名 例: myserver.ts.net> User <ユーザ名> RequestTTY yes RemoteCommand tmux new -A -s claude
この設定により、以下に示すコマンドだけで自動的にtmuxセッションに接続できる。
ssh claude-server
方法 2 : VS Code Remote SSH
VS CodeのRemote SSH拡張機能を使用して、リモートサーバ上のClaude CodeをIDE内で使用できる。
前提条件
- クライアント側
- Visual Studio Code 1.98.0以降
- サーバ側
- SSHサーバが動作するLinuxサーバ (RHEL 7以降、Ubuntu 16.04以降等)
- 最低1[GB] RAM、推奨2[GB] RAM以上
VS Code拡張機能のインストール =
Remote SSH拡張機能のインストール
VS CodeでRemote SSH拡張機能をインストールする。
- VS Codeを開く。
- 拡張機能ビューを開く。([Ctrl] + [Shift] + [X]キー)
- Remote - SSH を検索する。
- Microsoftが提供する Remote - SSH 拡張機能をインストールする。
Claude Code拡張機能のインストール
- 拡張機能ビューで Claude Code を検索する。
- Anthropicが提供する公式拡張機能をインストールする。
Remote SSHの設定 =
SSHホストの追加
- コマンドパレットを開く。([Ctrl] + [Shift] + [P]キー)
- Remote-SSH: Add New SSH Host を選択する。
- 接続コマンドを入力する。
ssh <ユーザ名>@<IPアドレス または ホスト名 例: myserver.ts.net>
- SSH設定ファイルを選択する。
通常は、~/.ssh/config ファイル
SSH設定ファイルの例
vi ~/.ssh/config
# ~/.ssh/configファイル Host claude-server HostName <IPアドレス または ホスト名 例: myserver.ts.net> User <ユーザ名> IdentityFile ~/.ssh/id_ed25519
リモートサーバへの接続 =
- コマンドパレットを開く。([Ctrl] + [Shift] + [P]キー)
- [Remote-SSH: Connect to Host]を選択する。
- 設定したホスト名を選択する。
- 新しいVS Codeウィンドウが開いて、リモートサーバに接続される。
初回接続時は、VS Code Serverがリモートサーバに自動的にインストールされる。
数分掛かる場合があることに似注意する。
Claude Code拡張機能の使用 =
リモートサーバに接続した状態で、Claude Code拡張機能を使用できる。
- サイドバーのClaude Codeアイコンを選択する。
- チャットパネルが開くので、リモートサーバ上のファイルやプロジェクトに対してClaude Codeを使用できる。
※注意
VS Code拡張機能では /rc コマンド (Remote Control) はサポートされていない。
方法 3 : Remote Control (/rc)
Remote Controlは、Claude Codeの組み込み機能であり、ローカルで実行中のセッションをモバイルアプリやWebブラウザから継続できる。
機能の概要
Remote Controlを使用すると、以下に示すことが可能である。
- デスクで開始したタスクを、スマートフォンやタブレットから継続できる。
- ローカル環境 (ファイルシステム、MCPサーバ、ツール、プロジェクト設定) をリモートから利用できる。
- 複数のデバイス間で会話が同期される。
- ネットワーク切断やスリープから自動的に復旧できる。
※注意
セッションはローカルPCで実行され続ける。
ソースコードはクラウドに転送されない。
対応プラン
| プラン | 対応状況 |
|---|---|
| Max | 対応済み (リサーチプレビュー) |
| Pro | 順次ロールアウト予定 |
| Team | 未対応 |
| Enterprise | 未対応 |
| API キー | 未対応 |
設定方法 =
前提条件
- Maxプラン または Proプランのサブスクリプションを契約していること。
claudeコマンドで/loginを実行してclaude.aiで認証済みであること。- ワークスペースの信頼ダイアログを承認済みである琴。
新規セッションの開始
プロジェクトディレクトリで以下に示すコマンドを実行する。
# Remote Controlセッションを開始 claude remote-control
セッションURLとQRコードが表示される。
スペースキーを押下すると、QRコードの表示を切り替えられる。
既存セッションからのRemote Control開始
既にClaude Codeセッションを実行中の場合、以下のコマンドでRemote Controlを開始できる。
/remote-control # または短縮形で /rc
他のデバイスからの接続
Remote Controlセッションがアクティブな場合、以下に示す方法で接続できる。
- ブラウザでセッションURLを開く
- claude.ai/codeでセッションに直接アクセスできる。
- QRコードをスキャンする。
- Claude mobile app (iOS / Android) でQRコードをスキャンして接続する。
- Claude mobile appでセッション一覧から選択する。
- リモートセッションはコンピュータアイコンと緑のステータスドットで表示される。
全セッションでRemote Controlを有効にする
デフォルトでは、Remote Controlは明示的に有効化した場合のみ動作する。
全てのセッションで自動的にRemote Controlを有効にするには、Claude Code内で /config を実行し、
[Enable Remote Control for all sessions]を true に設定する。
制限事項
- 1つのClaude Codeセッションにつき1つのリモート接続のみサポート
- ターミナルを閉じるとセッションが終了する。
- ネットワークが約10分間切断されるとセッションがタイムアウトする。
トラブルシューティング
SSH接続できない場合
チェックリスト
- SSHサーバが起動しているか確認
sudo systemctl status sshdコマンドで確認する。
- ファイアウォール設定を確認
- SSHポート (デフォルトは、22番ポート) が開放されているか確認する。
- Tailscaleの接続状態を確認
tailscale statusコマンドでデバイスがオンラインか確認する。
Tailscaleのトラブルシューティング
# Tailscaleの状態確認 tailscale status # Tailscaleの再接続 sudo tailscale down sudo tailscale up # DNSの確認 tailscale status --json | jq .Self.DNSName
tmuxセッションが見つからない場合
# セッション一覧を表示 tmux ls # 全てのセッションを確認 tmux list-sessions # セッションが存在しない場合は新規作成 tmux new -s claude
VS Code Remote SSHで接続できない場合
- ログの確認
- [表示] - [出力] - [Remote-SSH] でログを確認する。
- SSH設定の確認
- ~/.ssh/config ファイルの設定が正しいか確認する。
- 手動SSH接続の確認
- ターミナルから直接
ssh <ユーザ名>@<IPアドレス または ホスト名>で接続できるか確認する。
- ターミナルから直接
Remote Controlが動作しない場合
プランの確認
Remote Controlは、Claude MaxプランまたはProプランでのみ利用可能である。
Team、Enterprise、APIキーを使用している場合は利用できない。
認証の確認
# ログイン状態を確認 claude /login # 再度ログイン claude /login
ネットワークの確認
- ローカルPCがインターネットに接続されているか確認する。
- ファイアウォールで発信HTTPS接続がブロックされていないか確認する。
モバイルアプリでQRコードが読み取れない場合
- Claude mobile appが最新版であることを確認する。
- QRコードを拡大してスキャンする。
- 手動でセッションURLを入力する。
関連リンク
- Claude Code公式ドキュメント - Remote Control
- Claude Code公式ドキュメント - VS Code Extension
- VS Code公式ドキュメント - Remote SSH
- Claude iOS App
- Claude Android App
- Tailscale公式サイト