VSCode Remote SSHを使えば、MacBook Air側の負荷を最小限にしてMac miniのClaude Codeを操作できます。
- 要点1: 処理(ファイル操作・拡張機能・LSP)はすべてMac mini側で実行され、MacBookはUI描画のみ担当する
- 要点2: SSH環境ではmacOS Keychainのロックが解除されないため、APIキーの取得に失敗するケースがある
- 要点3: 古いClaude Code拡張機能が複数残存していると最大1.3GB以上のメモリを余計に消費する
対象: Mac miniを開発サーバーとして活用したい方、VSCode Remote SSH環境でClaude Codeを使いたいエンジニア・開発者
今日やること: Mac miniの「システム設定 → 共有 → リモートログイン」を有効にしてSSH接続を試みる
この記事の目次
VSCode Remote SSHを活用することで、手元のMacBook Airは画面表示だけを担当し、処理の重いAI開発作業はすべてMac mini側で実行できます。MacBookのバッテリーやメモリを温存しながら、フルパワーの開発環境を維持できる構成です。
「Mac miniを買ったが、別の部屋に置いたままで操作しにくい」「重い処理をリモートに逃がしたいが設定方法がわからない」——こうした状況を解決するのがVSCode Remote SSH機能です。
この記事では、実際のセットアップ手順に加えて、SSH環境特有のトラブル(macOS Keychainへのアクセス問題・メモリ消費問題)と、その具体的な解決策を実例をもとに解説します。
VSCode Remote SSHとは?なぜClaude Code開発に向いているか
VSCode Remote SSH(Remote – SSH拡張機能)とは、SSH(Secure Shell)接続を通じてリモートマシン上のファイルを、あたかもローカルのファイルであるかのように編集・実行できるVisual Studio Codeの拡張機能です。
Microsoft社が開発し、VSCodeに標準で対応しているため、特別な設定なしに使い始めることができます。
Remote SSHの仕組み — どこで処理されるのか
Remote SSHを使った際の処理の分担は以下のとおりです。
| 処理の種類 | 実行場所 |
|---|---|
| ファイルの読み書き | リモート(Mac mini) |
| ターミナルコマンドの実行 | リモート(Mac mini) |
| 拡張機能のバックエンド処理(LSP、Claude Code等) | リモート(Mac mini) |
| VS CodeのUI描画 | ローカル(MacBook) |
| キー入力の送信 | ローカル(MacBook) |
ポイントは、Claude Code拡張機能のバックエンド処理もリモート(Mac mini)側で動くという点です。AIによるコード補完・ファイル操作・コマンド実行の負荷がすべてMac mini側に集中するため、MacBook Airへの負担は最小限になります。
Mac miniを開発サーバーとして使うメリット
Mac miniをリモート開発サーバーとして使う主なメリットは以下のとおりです。
- MacBookのバッテリー寿命を延ばせる: 重い処理はMac mini側なので、MacBookのバッテリー消費が減る
- 常時稼働環境を維持できる: Mac miniはデスクに置いたまま電源をつないでおけば、どこからでも接続できる
- 処理能力を使い分けられる: M4チップ搭載のMac miniのCPU・メモリをフル活用できる
- 環境の再現性が高い: 開発環境をMac miniに集約するため、MacBookを買い替えても環境が壊れない
ポイントMac miniを24時間稼働させておけば、外出先のカフェからでも自宅のMac miniにSSH接続して作業を続けられます。Tailscaleなどのツールと組み合わせると、インターネット越しの接続も安全に行えます。
事前準備 — Mac miniのSSH設定
Mac miniをリモート開発サーバーとして使う前に、SSH接続を受け付ける設定を行います。
Mac miniのシステム設定でリモートログインを有効化
- Mac miniの「システム設定」を開く
- 左メニューの「一般」→「共有」を選択
- 「リモートログイン」をオンにする
- 「ネットワークユーザー全員のアクセスを許可」または特定ユーザーを許可する設定を行う
これでMac miniがSSH接続を受け付けるようになります。
公開鍵認証の設定(パスワードなし接続)
パスワード入力なしで接続するために、公開鍵認証を設定します。MacBook側のターミナルで以下のコマンドを実行します。
# SSH鍵が未作成の場合は生成ssh-keygen -t ed25519 -C "your_email@example.com"# 公開鍵をMac miniに転送ssh-copy-id ユーザー名@Mac miniのIPアドレス
ssh-copy-idコマンドがない場合は、以下のように手動で転送できます。
# MacBookの公開鍵の内容を確認cat ~/.ssh/id_ed25519.pub# Mac miniにSSH接続してauthorized_keysに追記ssh ユーザー名@Mac miniのIPアドレスecho "公開鍵の内容" >> ~/.ssh/authorized_keyschmod 600 ~/.ssh/authorized_keys
~/.ssh/configにホスト名を設定する
毎回IPアドレスを入力する手間を省くため、MacBookの~/.ssh/configにエントリを追加します。
Host macmini HostName 192.168.1.xxx # Mac miniのローカルIP User ユーザー名 IdentityFile ~/.ssh/id_ed25519
これでssh macminiと入力するだけで接続できるようになります。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちらVSCode Remote SSH拡張機能のインストールと接続
Mac miniのSSH設定が完了したら、MacBook側のVSCodeに拡張機能をインストールします。
Remote-SSH拡張機能をインストールする
- VSCodeの拡張機能パネル(Cmd+Shift+X)を開く
- 「Remote – SSH」を検索してインストール
- インストール後、左下に緑色の「><」アイコンが表示される
Mac miniに接続してClaude Code拡張機能をインストールする
- 左下の「><」アイコンをクリック
- 「リモートホストに接続…」→「macmini」を選択
- 接続が完了したら、拡張機能パネルで「Claude Code」を検索
- 「SSH: macmini でインストール」ボタンをクリック
重要な点として、Claude Code拡張機能はリモート(Mac mini)側にインストールする必要があります。 ローカル側のMacBookへのインストールでは、Remote SSH経由でのAI支援が正しく動作しません。
インストール後、Mac mini上でClaude Codeが動作していることを確認します。VSCodeのターミナルを開いて(Ctrl+`)、claude --versionを実行してみましょう。
【実例】SSH環境でKeychainのAPIキーが取得できない問題と解決策
ここからは、実際のセットアップ時に遭遇した具体的なトラブルと解決策を解説します。
VSCode Remote SSH環境でX APIのBearer TokenなどをmacOS Keychainで管理していた場合、以下のようなエラーが発生することがあります。
# SSHセッションからKeychainへのアクセスを試みると...$ security find-generic-password -s "X_BEARER_TOKEN" -w# エラーなく実行できるが、パスワード値が空で返ってくる
Keychainにエントリは存在しているのに、パスワード値だけが取得できないという状況です。
なぜSSH経由でKeychainが使えないのか
この問題の原因は、SSH接続セッションではmacOS Keychainのロックが解除されていないためです。
macOSのKeychain(キーチェーンアクセス)は、ログインセッションが開始されるとロックが解除されます。しかしSSH経由の接続は、GUIのログインセッションとは別のプロセスとして扱われるため、Keychainにアクセスする権限を持っていません。
security find-generic-password コマンドを実行してエントリの存在確認(メタデータ取得)はできますが、パスワード値の取得(-wオプション)だけが失敗する、というのがこの問題の特徴です。
解決策1: VSCodeのターミナルでKeychainをアンロックする(一時的)
VSCodeのターミナル(Ctrl+`)から以下を実行することで、現在のセッション中はKeychainにアクセスできるようになります。
security unlock-keychain ~/Library/Keychains/login.keychain-db
実行後にmacOSのログインパスワードを入力すると、そのセッション中はAPIキーが取得できます。
ただし、この方法はSSH接続を切ると再びロックされるため、毎回パスワード入力が必要という手間があります。常時使う環境には不向きです。
解決策2: ファイルフォールバック方式で恒久的に解決する
Keychainが使えない場合にファイルからトークンを読み込むフォールバック処理を実装することで、SSH再接続後も設定が維持されます。
# トークンファイルを作成(自分だけ読み書き可能)echo "Bearer Tokenの値" > ~/.x_bearer_tokenchmod 600 ~/.x_bearer_token
chmod 600は「ファイルの所有者のみ読み書き可能」という権限設定です。他のユーザーからはアクセスできないため、セキュリティ上の問題は最小限に抑えられます。
Pythonスクリプト側では以下のように実装します。
def get_api_token(): """Keychainが使えない場合にファイルからフォールバック""" import subprocess # まずKeychainから取得を試みる try: result = subprocess.run( ['security', 'find-generic-password', '-s', 'X_BEARER_TOKEN', '-w'], capture_output=True, text=True, timeout=5 ) if result.returncode == 0 and result.stdout.strip(): return result.stdout.strip() except Exception: pass # Keychainが失敗した場合はファイルから読む token_file = os.path.expanduser('~/.x_bearer_token') if os.path.exists(token_file): with open(token_file, 'r') as f: return f.read().strip() raise ValueError("APIトークンが見つかりません")
この方式であれば、ローカル環境ではKeychain、SSH環境ではファイル、と自動的に切り替えられます。
Claude Codeの導入や活用方法について、個別にご相談いただけます。「SSH環境での設定方法を教えてほしい」「自社の開発環境に合わせたカスタマイズをしたい」という段階からサポートしています。
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちら【実例】VSCode Remote SSHでメモリが膨れ上がる問題
「処理はリモート(Mac mini)側のはずなのに、MacBook Air側のVSCodeのメモリ使用量が何百MBにも膨れ上がっている」——こういうケースが実際にあります。
なぜローカルのVS Codeもメモリを使うのか
Remote SSHを使っていても、ローカル側のVSCodeはかなりのメモリを消費します。主な理由は以下のとおりです。
- ElectronベースのUI: VSCodeはChromiumをベースに構築されたElectronアプリです。ブラウザと同程度のベースメモリ(数百MB〜)を消費します
- ローカル側の拡張機能: テーマやUI系の拡張機能はローカルで動作します
- 古いバージョンの拡張機能の蓄積: アップデートを繰り返すと、古いバージョンが削除されずに残り続けることがあります
古いClaude Code拡張機能を削除して1.3GBを解放する
実際のケースで、Claude Code拡張機能の古いバージョンが6個残存し、合計1.3GB以上を占有していた事例があります。
VSCodeの拡張機能は、アップデートされるたびに古いバージョンが~/.vscode/extensions/フォルダに残り続けることがあります。最新バージョンしか使われていないのに、ディスクとメモリを無駄に消費し続けていた状態です。
# 拡張機能のフォルダサイズを確認du -sh ~/.vscode/extensions/saoudrizwan.claude-dev-*# 例: 以下のような出力が得られた# 220M ~/.vscode/extensions/saoudrizwan.claude-dev-2.1.52# 220M ~/.vscode/extensions/saoudrizwan.claude-dev-2.1.53# ...(6バージョン分 = 合計約1.3GB)
解決方法は古いバージョンを削除するだけです。
# 最新バージョン以外を削除(バージョン番号は適宜確認して変更)cd ~/.vscode/extensionsls saoudrizwan.claude-dev-*# 最新版のみ残して古いものを削除rm -rf saoudrizwan.claude-dev-2.1.52rm -rf saoudrizwan.claude-dev-2.1.53# ...
または、VSCodeの拡張機能パネルから「Claude Code」を右クリック→「拡張機能を管理」→「インストール済みバージョン」で古いものを削除できます。
古い拡張機能を整理するだけで1GB以上のメモリ・ディスクを解放できるケースがあります。特に長期間同じMacを使っている方は、一度確認してみることをおすすめします。
Claude CodeのPermission設定 — bypassPermissionsの注意点
Claude Codeには、操作前に確認ダイアログを出すかどうかを制御するpermission設定があります。SSH環境ではこの設定に少し注意が必要です。
ターミナル版とVSCode拡張版の設定の違い
Claude Codeには「ターミナルで直接使うCLI版」と「VSCodeの拡張機能版」の2種類があります。それぞれで設定ファイルの場所が異なります。
| 種類 | 設定ファイルの場所 |
|---|---|
| CLI版(ターミナル) | ~/.claude/settings.json(リモート側) |
| VSCode拡張機能版 | VSCode Remote側の設定 |
SSH経由でbypassPermissionsを有効にする方法
Remote SSH経由でClaude Codeを使う場合、設定はリモート(Mac mini)側に反映する必要があります。
Mac miniのターミナルにSSH接続した状態で、以下のファイルを作成または編集します。
ssh macminimkdir -p ~/.claudecat > ~/.claude/settings.json << 'EOF'{ "permissions": { "allow": ["Bash(*)", "Read(*)", "Write(*)", "Edit(*)"] }}EOF
VSCodeの「Remote SSH」接続中にClaude Codeの設定パネルを開いた場合も、変更はリモート側の設定ファイルに反映されます。ローカル(MacBook)側の設定ファイルとは別管理になる点に注意してください。
注意
bypassPermissions(すべての確認をスキップ)は利便性が高い反面、意図しないファイル削除などのリスクもあります。本番環境に近いリモートサーバーで作業する場合は、個別に許可するコマンドを明示的に設定する方法を推奨します。
\ AI活用の「次の一手」を一緒に考えませんか /
法人向けClaude Code個別指導の無料相談はこちらよくある質問
Q. VSCode Remote SSHでClaude Codeは使えますか?
使えます。Claude Code拡張機能をリモート(Mac mini)側にインストールすることで、SSH経由でもAI支援を受けながらコーディングできます。処理はリモート側で実行されるため、ローカルマシンへの負荷も抑えられます。
Q. SSH環境でmacOS Keychainのパスワードが取得できません
SSH経由のセッションではmacOS Keychainのロックが解除されていないことが原因です。security unlock-keychain ~/Library/Keychains/login.keychain-dbで一時的に解除するか、本記事で紹介したファイルフォールバック方式(~/.x_bearer_tokenなどのファイルにトークンを保存する方法)で恒久的に対処できます。
Q. Remote SSHで接続するとVSCodeが重くなります
ローカル側のVSCodeのElectronフレームワークや、蓄積した古い拡張機能のバージョンがメモリを消費している場合があります。~/.vscode/extensions/フォルダを確認し、不要な古いバージョンを削除することで改善できるケースが多いです。
Q. Claude Code拡張機能はローカルとリモートどちらにインストールすればよいですか?
リモート(Mac mini)側にインストールします。VSCodeのRemote SSH接続中に拡張機能パネルを開くと、「ローカルにインストール」と「SSH: ホスト名にインストール」の2つのボタンが表示されます。後者を選択してください。
Q. Mac miniとMacBookの両方でClaude Codeを使いたい場合は?
Mac mini側のClaude Codeはリモート(SSH)経由で使い、MacBook側でもローカルでClaude Codeを動かすことは可能です。スキルや設定ファイルを2台間で同期するには、rsyncを使った定期同期が便利です。Tailscaleと組み合わせると外出先からでも同期が行えます。(MacBookとMac miniでClaude Code環境を同期する方法 →)
まとめ
VSCode Remote SSHを活用することで、Mac miniを開発サーバーとして活用しながら、手元のMacBookはUI表示だけに専念させる構成が実現できます。
この記事で解説した主なポイントをまとめます。
- 処理の分担: ファイル操作・Claude Code拡張機能・LSPはすべてリモート(Mac mini)側で動作する
- Keychain問題: SSH経由ではKeychainのロックが解除されないため、APIキー取得にはファイルフォールバック方式が実用的
- メモリ問題: ローカルのVSCodeはElectronベースのため相応のメモリを消費する。古い拡張機能の蓄積を定期的に整理することで改善できる
- permission設定: SSH環境での設定はリモート側の
~/.claude/settings.jsonに反映する必要がある
Remote SSH環境の構築は最初こそ手間がかかりますが、一度整えてしまえば非常に快適な開発環境が手に入ります。特にMac miniのような非ポータブルな高スペックマシンをフル活用したい方にとっては、必須のセットアップと言えます。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。SSH環境のセットアップや、APIキー管理・permission設定の詳細なカスタマイズについても、個別指導の中でお伝えしています。「何から始めればいいかわからない」という段階からご支援いたします。





