4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Raspberry Pi 5のセットアップからClaude Codeの動作検証まで完全解説(3)】Raspberry PiにClaude Codeのインストール・セキュリティ設定

4
Last updated at Posted at 2026-03-10

はじめに

本記事は次の記事のシリーズの一部です。
【Raspberry Pi 5のセットアップからClaude Codeの動作検証まで完全解説】

(1)OS(labwc)のインストール
https://qiita.com/LatanKee/items/630e5899bd85e6a462e8

(2)RPi初回起動~VNC接続
https://qiita.com/LatanKee/items/fc044e3562e5db0c332c

(3)Raspberry PiにClaude Codeのインストール・セキュリティ設定 ←今ここ
https://qiita.com/LatanKee/items/5c05c0404bc6e12da0c5

(4)Raspberry PiでClaude Codeデモ
https://qiita.com/LatanKee/items/07f52329ec8ef4cca1a8

本記事ではRaspberry Pi 5にClaude Codeのインストール・セキュリティ設定について解説します。

image.png

image.png

Raspberry PiにClaude Codeをインストール・セキュリティ設定

ステップ7.Claude Codeをインストール

1)OSを最新化

sudo apt update
sudo apt upgrade -y

2)OSの確認

システムが動作しているハードウェアのアーキテクチャ名(マシンの種類)を表示するコマンドです。

uname -m

結果
aarch64

64bit推奨なのでOKです。
armv7lと表示された場合は32ビットなので、64ビットOSで再イメージが必要です。

3)Node.js20をインストール

Claude CodeはNode.js18以上必要です。
Node.js20推奨です。

現在の確認

node -v

18未満または未インストールなら次のコマンドで、NodeSource経由でインストール

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

インストール完了後にnodeのバージョンを確認

node -v
npm -v

結果
以下になっていればOK
v20.x.x
10.x.x

4)Claude Codeをインストール

sudo npm install -g @anthropic-ai/claude-code

Claude Codeのバージョン確認

claude --version

以下のような結果になればOK
2.1.62 (Claude Code)

5)Claude Codeを起動する前に、セキュリティ対策のための設定

Claude Codeはデフォルトで大きな権限を持つため、大事なデータを削除したり、データの漏洩や意図しない外部との通信が発生したり、無限ループに陥ったりするなどのリスクがあります。そういったリスクを防止するためのセキュリティ対策です。

Claude Codeの設定

次のリンクはClaude Codeの設定に関する公式ドキュメントです。

最低限、次の2つの設定を行なっておくと良いでしょう。

ファイル 強制力 目的
~/.claude/settings.json  強い  実行制御
CLAUDE.md 弱い(誘導) 開発方針共有

実務的おすすめ構成

~/.claude/settings.json ※必須(全体制限)← 外部通信・破壊系禁止・sandbox
project/
├── .claude/
│   ├── settings.json ※推奨(チーム共有)
│   └── settings.local.json ※任意(個人用)← 少し緩和したい時等
├── CLAUDE.md ※必須
├── README.md ※任意
└── src/

settings → ガードレール
CLAUDE.md → 方針
README → 人間用

なお、設定ファイルの優先順位は次の通りです。

設定ファイル 用途 適用範囲
~/.claude/settings.json グローバル設定 マシン上の全プロジェクト
./.claude/settings.json プロジェクト設定 チーム共有用(git にコミット)
./.claude/settings.local.json ローカル設定 個人用(gitignore推奨)

Claude Codeの設定については以上です。
では先に紹介した2つの必須の設定に関する作業に移りましょう。
・.claude/settings.json
・CLAUDE.md

6)~/.claude/settings.jsonファイルの作成

まず現在の場所を確認

pwd

結果
/home/username
Raspberry Piのホームディレクトリである上記の位置にいればOKです。

ホームディレクトリで

mkdir -p ~/.claude
nano ~/.claude/settings.json

nanoエディタが立ち上がり、次の内容を入力
※Raspberry Piでペースト:Ctrl+Shift+v

{
  "permissions": {
    "deny": [
      "Read(~/.ssh/**)",
      "Read(~/.git-credentials)",
      "Read(~/.config/gh/**)",
      "Read(**/*id_rsa*)",
      "Read(**/*id_ed25519*)",
      "Read(**/.env*)",
      "Edit(**/.env*)",
      "Write(**/.env*)",
      "Read(/secrets/**)",
      "Edit(/secrets/**)",
      "Write(/secrets/**)",
      "Edit(~/.bashrc)",
      "Write(~/.bashrc)",
      "Edit(~/.zshrc)",
      "Write(~/.zshrc)",
      "Bash(nc:*)",
      "Bash(ssh:*)",
      "Bash(scp:*)",
      "Bash(sudo:*)",
      "Bash(su *)",
      "Bash(rm *)",
      "Bash(rmdir *)",
      "Bash(unlink *)",
      "Bash(shred *)",
      "Bash(find * -delete*)",
      "Bash(rsync * --delete*)",
      "Bash(dd:*)",
      "Bash(mkfs:*)",
      "Bash(docker *:*)"
    ],
    "ask": [
      "Bash(git push:*)",
      "Bash(systemctl *:*)",
      "Bash(curl:*)",
      "Bash(wget:*)"
    ],
    "allow": [
      "Bash(ls:*)",
      "Bash(pwd)",
      "Bash(cat:*)",
      "Bash(git status)",
      "Bash(git diff:*)"
    ]
  },
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": false
  }
}

nanoエディタの編集画面
image.png

nanoエディタの保存:Ctrl+O>Enter
Ctrl+Xでnanoエディタを閉じる

catでテキスト内容を確認します。

cat ~/.claude/settings.json

入力内容が反映されていることが確認できればOK

7)~/.claude/settings.jsonの内容の解説

🔐認証情報保護
Read(~/.ssh/**) SSH鍵漏洩防止
Read(~/.git-credentials) Git認証漏洩防止
Read(**/id_rsa) 鍵ファイル保護
Read(**/.env*) APIキー漏洩防止
Read(/secrets/**) 秘密ディレクトリ保護

🖥 シェル設定改変禁止
Edit(~/.bashrc) 永続バックドア防止
Edit(~/.zshrc) シェル汚染防止

🌐 外部接続制限
Bash(nc:*) ソケット通信禁止
Bash(ssh:*) SSH外部接続禁止
Bash(scp:*) データ外部送信防止

⬆ 権限昇格防止
Bash(sudo:*) root実行禁止
Bash(su *) ユーザー切替禁止

💣 破壊系コマンド防止
Bash(rm *) ファイル削除禁止
Bash(shred *) 復元不可削除防止
Bash(dd:*) ディスク破壊防止
Bash(mkfs:*) フォーマット防止

🐳 Docker禁止
Bash(docker :) コンテナ経由の権限回避防止

❓ ask
git push 外部リポジトリ送信確認
systemctl サービス改変確認
curl / wget 外部通信は確認制

🔒 sandbox設定
enabled: true → Claudeをサンドボックスモードで実行
autoAllowBashIfSandboxed: false → サンドボックス内でも自動許可しない

グローバルガードの作成は以上です。

8)作業用フォルダ(プロジェクト)の作成

mkdir my_project && cd my_project

homeやrootディレクトリで作業するとClaudeが全てのデータにアクセス可能な状態となり、大切なデータが削除されてしまうリスクがあります。シンプルな解決策は、作業用フォルダ(プロジェクト)で作業をすることです。Claude Codeに限らず、何か作業する際は専用の作業フォルダを作成し、そこで作業すると安全です。

9)CLAUDE.md作成

.mdは「Markdown(マークダウン)」という書き方のルールがあるメモ形式です。Claudeは毎回必ず「CLAUDE.md」を参照の上、作業をするため、一度ルールを決めて置けば以降はルール通りに作業してくれるわけです。

次のコマンドで「CLAUDE.md」を作成

nano CLAUDE.md

ここでは、Raspberry Piに特化した内容を入力します。

# 本プロジェクトについて

本プロジェクトは Raspberry Pi 5 上で動作するエッジAI開発環境です。  
軽量性・安全性・再現性を重視します。

---

# システム要件
- Raspberry Pi 5
- RAM:8GB
- OS:Raspberry Pi OS 64bit(Bookworm/labwc)
- Node.js:20
- ストレージ:128GB (microSDカード)

---

# 言語ポリシー

- 回答は必ず日本語で行ってください。
- コード内コメントも日本語で記述してください。
- 英語での説明は行わないでください。
- 専門用語は初出時に日本語で簡潔な説明を添えてください。
- わかりやすく、簡潔に伝えてください。

---

# 安全に関する方針

- sudoコマンドは原則使用しないでください。
- systemctl操作は事前に確認を求めてください。
- ファイル削除操作は必ず事前確認してください。
- .env や secrets ディレクトリは読み取らないでください。
- 外部通信が必要な場合は、理由を明示してください。
- 既存ファイルの上書きは必ず確認してから行ってください。

---

# 作業前の確認ルール

以下に該当する場合は、必ず実行前に確認を取ってください。

- 複数ステップの作業は、実行前に「やること一覧」を提示し、承認を得てください。
- ファイルを変更・削除する前に、以下を説明してください:
  - 何をするのか
  - 想定されるリスク
  - 元に戻せるかどうか(復元方法)
- 新しいパッケージをインストールする場合は、目的と必要性を説明し、承認を得てから行ってください。

---

# やらないこと

- ファイルの削除(手順の提案のみ行い、実行は人間に任せること)
- 説明なしでコマンドを実行すること
- 承認なしで新しいパッケージをインストールすること

---

# コーディング原則

- メモリ消費を最小化すること
- ARM環境を前提とすること
- 不要な依存パッケージを追加しないこと
- 型ヒントを活用すること
- 可読性を重視すること

---

# 出力ルール

- 修正箇所を明示してください。
- 変更理由を説明してください。
- 危険な操作は必ず警告してください。
- 実行コマンドには説明を添えてください。
- 作業完了後は、何を変更したかを箇条書きで要約してください。

以上です。お疲れ様でした✨

image.png

まとめ

Raspberry PiにClaude CodeのインストールとRaspberry Piに特化したセキュリティ対策のためのClaudeの設定についての解説は以上です。

これでClaude Codeを安全にRaspberry Pi上で運用することができます。

必要に応じてHooks構成など、追加でセキュリティの強化を行なうことも推奨されます。

次の記事では、いよいよ「Raspberry PiでClaude Code最小デモ」について解説します。
https://qiita.com/LatanKee/items/07f52329ec8ef4cca1a8

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?