メインコンテンツへスキップ

Raspberry Pi OS でSSH接続

🔐 はじめに

このページでは、Raspberry Pi OS(旧称Raspbian)でSSH接続を有効にしつつ、セキュリティを高めるためにローカルネットワークからのみアクセスを許可する手順を紹介します。家庭内やオフィス内のLAN環境で安全に運用するためのベーシックな設定です。


🛠️ 1. SSHを有効化する

📦 手順①:Raspberry Piの設定ツールから有効化

GUI環境がある場合:

  1. メニュー → [設定] → [Raspberry Piの設定]

  2. 「インターフェイス」タブを開く

  3. 「SSH」を「有効」にする

💻 手順②:ターミナルから有効化(Lite版などの場合)

sudo raspi-config
  1. 3 Interface Options を選択

  2. P2 SSH を選択

  3. 「Yes」で有効化

  4. Finish を選択して終了

📝 手順③:SSHサービスの状態確認

sudo systemctl status ssh

「active (running)」であればOK。


🌐 2. ローカルネットワークからの接続だけを許可する

🔒 方法①:sshd_configでListenアドレスを限定

  1. 設定ファイルを開く:

sudo nano /etc/ssh/sshd_config
  1. 以下の行を追加または編集(例:192.168.1.0/24のローカルネットワーク用)

ListenAddress 192.168.1.100

この設定では、特定のIPアドレス(Raspberry Pi自身のローカルIP)でのみSSH接続を受け付けるようになります。

  1. 設定を反映:

sudo systemctl restart ssh

🧱 方法②:UFWファイアウォールを使って制限(より柔軟)

  1. UFW(Uncomplicated Firewall)をインストール:

sudo apt install ufw
  1. ローカルネットワーク(例:192.168.1.0/24)からのSSHを許可:

sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcp
  1. その他の外部からのアクセスをブロック:

sudo ufw deny 22/tcp
  1. UFWを有効化:

sudo ufw enable
  1. 状態確認:

sudo ufw status

🧪 3. 動作確認

  • 別のローカル端末から接続を試みる:

ssh pi@192.168.1.100
  • グローバルIP側や別ネットワークからは接続できないことを確認する(VPNやスマホテザリングなどを使ってテスト可能)。


🧯 補足:公開鍵認証への移行(推奨)

パスワード認証の代わりに公開鍵認証を使うことで、より安全になります。

  1. クライアント側で鍵を作成:

ssh-keygen
  1. 公開鍵をRaspberry Piへコピー:

ssh-copy-id pi@192.168.1.100
  1. パスワード認証を無効にする:

sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
  1. SSHサービスを再起動:

sudo systemctl restart ssh

これで鍵を持っていない者はログインできなくなり、セキュリティが大きく向上します。


✅ まとめ

設定 推奨度 備考
SSHの有効化 必須 raspi-config で簡単
ListenAddress指定 IP固定していないと不便
UFWによる制限 柔軟かつ視認性良し
公開鍵認証 非常に高 パスワード廃止で安全性UP