Raspberry Pi OS でSSH接続
🔐 はじめに
このページでは、Raspberry Pi OS(旧称Raspbian)でSSH接続を有効にしつつ、セキュリティを高めるためにローカルネットワークからのみアクセスを許可する手順を紹介します。家庭内やオフィス内のLAN環境で安全に運用するためのベーシックな設定です。
🛠️ 1. SSHを有効化する
📦 手順①:Raspberry Piの設定ツールから有効化
GUI環境がある場合:
-
メニュー → [設定] → [Raspberry Piの設定]
-
「インターフェイス」タブを開く
-
「SSH」を「有効」にする
💻 手順②:ターミナルから有効化(Lite版などの場合)
sudo raspi-config
-
3 Interface Options
を選択 -
P2 SSH
を選択 -
「Yes」で有効化
-
Finish
を選択して終了
📝 手順③:SSHサービスの状態確認
sudo systemctl status ssh
「active (running)」であればOK。
🌐 2. ローカルネットワークからの接続だけを許可する
🔒 方法①:sshd_config
でListenアドレスを限定
-
設定ファイルを開く:
sudo nano /etc/ssh/sshd_config
-
以下の行を追加または編集(例:192.168.1.0/24のローカルネットワーク用)
ListenAddress 192.168.1.100
この設定では、特定のIPアドレス(Raspberry Pi自身のローカルIP)でのみSSH接続を受け付けるようになります。
-
設定を反映:
sudo systemctl restart ssh
🧱 方法②:UFWファイアウォールを使って制限(より柔軟)
-
UFW(Uncomplicated Firewall)をインストール:
sudo apt install ufw
-
ローカルネットワーク(例:192.168.1.0/24)からのSSHを許可:
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
-
その他の外部からのアクセスをブロック:
sudo ufw deny 22/tcp
-
UFWを有効化:
sudo ufw enable
-
状態確認:
sudo ufw status
🧪 3. 動作確認
-
別のローカル端末から接続を試みる:
ssh pi@192.168.1.100
-
グローバルIP側や別ネットワークからは接続できないことを確認する(VPNやスマホテザリングなどを使ってテスト可能)。
🧯 補足:公開鍵認証への移行(推奨)
パスワード認証の代わりに公開鍵認証を使うことで、より安全になります。
-
クライアント側で鍵を作成:
ssh-keygen
-
公開鍵をRaspberry Piへコピー:
ssh-copy-id pi@192.168.1.100
-
パスワード認証を無効にする:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
-
SSHサービスを再起動:
sudo systemctl restart ssh
これで鍵を持っていない者はログインできなくなり、セキュリティが大きく向上します。
✅ まとめ
設定 | 推奨度 | 備考 |
---|---|---|
SSHの有効化 | 必須 | raspi-config で簡単 |
ListenAddress指定 | 中 | IP固定していないと不便 |
UFWによる制限 | 高 | 柔軟かつ視認性良し |
公開鍵認証 | 非常に高 | パスワード廃止で安全性UP |