Raspberry Pi OS Lite版で、最初からSSHを使えるようにする設定

---

Raspberry Pi Zero 2 Wはメモリが限られており、ヘッドレス（ディスプレイなし）運用を想定して**Lite版（GUIなしのOSイメージ）**を使う方も多いです。  
しかし、Lite版では初期設定ウィザードがなく、**SSHがデフォルトで無効**になっています。  
そこで、「SSHを最初から使いたいけどどうすればいいのか？」という疑問がよく出ます。

本記事では、**Raspberry Pi Zero 2 W**に**Raspberry Pi OS Lite版**をインストール後、**SSH接続をすぐに有効化する方法**と、**セキュリティ上の注意点**をまとめます。

---

## **目次**

1. [Raspberry Pi Imagerの「Advanced settings」を使う方法（推奨）](#1-raspberry-pi-imagerのadvanced-settingsを使う方法推奨)  
2. [bootパーティションにファイルを置いて手動で有効化する](#2-bootパーティションにファイルを置いて手動で有効化する)  
3. [ディスプレイとキーボードがあるならraspi-configで設定](#3-ディスプレイとキーボードがあるならraspi-configで設定)  
4. [どの方法がおすすめ？](#4-どの方法がおすすめ)  
5. [SSHセキュリティに関する注意点](#5-sshセキュリティに関する注意点)  
6. [よくある質問 (FAQ)](#6-よくある質問-faq)  
7. [まとめ](#7-まとめ)

---

## **1. Raspberry Pi Imagerの「Advanced settings」を使う方法（推奨）**

**Raspberry Pi Imager**は、公式サイトからダウンロードできるSDカード書き込みツールです。  
最新版（v1.6以降）には「Advanced settings」機能があり、GUI環境がなくても**SSHやWi-Fi設定を事前に有効化**できます。

### **1.1. 手順の概要**

1. **Raspberry Pi Imagerのダウンロード&インストール**  
   - [公式サイト](https://www.raspberrypi.com/software/) へアクセスし、PCへダウンロード・インストール。

2. **Imagerを起動**して以下を選択:
   - **Operating System**: “Raspberry Pi OS Lite (32-bit or 64-bit)” などのLite版  
   - **Storage**: 使用するMicroSDカード

3. **画面右下の歯車アイコン (Advanced settings) をクリック**して詳細設定を開く。

4. **SSHを有効化**し、初期ユーザー名・パスワードを設定する
   - 例: 「Enable SSH (Use password authentication)」「Set username and password」

5. 必要に応じて**Wi-FiのSSID/パスワード**や**ロケール設定**(言語、タイムゾーンなど)もここで指定可能。

6. 「Save」してから **「Write」** を実行し、OSイメージを書き込む。

### **1.2. 起動とSSH接続**

1. SDカードをRaspberry Pi Zero 2 Wに挿入し、電源をつなぐ。  
2. 数十秒後、ネットワークに接続されればSSHが有効になっているはず。  
3. **IPアドレス**を特定して、以下のようにSSH:
   ```bash
   ssh <username>@<RaspberryPiのIPアドレス>
   ```
   - `<username>` はImagerで設定したユーザー名  
   - パスワードもImagerで設定したものを入力

**メリット**:  
- **GUIなし**でもOS起動直後からSSHが使える  
- Lite版でも**Wi-Fiやロケール設定を一括で行える**  
- トラブルが少ないので、初心者にも非常におすすめ

---

## **2. bootパーティションにファイルを置いて手動で有効化する**

「Raspberry Pi ImagerのAdvanced settings」を使わない場合、または別の書き込みツール(`dd`、Etcher等)を使う場合は、**bootパーティション**を操作するのが定番です。

### **2.1. 「ssh」ファイルでSSHを有効化**

1. Lite版のイメージをMicroSDに書き込む。  
2. 書き込み後、SDカードをPCに挿し直すと、**bootパーティション(FAT32)** がマウントされる。  
3. そこに **空のファイル**を作成し、**名前を「ssh」(拡張子なし)** にする。  
   - 初回起動時に自動でSSHを有効化してくれる。

### **2.2. Wi-Fi設定が必要な場合: `wpa_supplicant.conf`**

Wi-Fiを使いたい場合は、同じ **bootパーティション** に `wpa_supplicant.conf` ファイルを置きます。内容例:

```text
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="Your_WiFi_SSID"
    psk="WiFi_password"
    key_mgmt=WPA-PSK
}
```

- `country=JP` は日本の場合（地域に応じて変更）。  
- SSIDとパスワードを正しく入力。

### **2.3. 起動とSSH接続**

1. SDカードをRaspberry Pi Zero 2 Wに挿入し、電源を投入。  
2. 数十秒後にWi-Fiに接続され、DHCPでIPが割り当てられる。  
3. PCから `ssh pi@<RaspberryPiのIPアドレス>` とし、初期パスワード（例: `raspberry`）を入力  
   - OSバージョンによって異なる場合あり

---

## **3. ディスプレイとキーボードがあるならraspi-configで設定**

もし **ディスプレイ・キーボードを用意できる**なら、Lite版でもコンソールから直接SSHを有効化できます。

1. 起動後、ユーザー名・パスワードを入力し、コンソールログイン。  
2. `sudo raspi-config` を実行。  
3. 「**Interface Options**」 → 「**SSH**」 → 「**Enable**」。  
4. `sudo reboot`（必要に応じて）。  
5. ネットワークに接続後、SSHでログイン可能。

---

## **4. どの方法がおすすめ？**

- **Raspberry Pi ImagerのAdvanced settings**:  
  - **初心者にも最も簡単**かつ、Wi-FiやSSH設定を一度に済ませられる  
- **bootパーティションに「ssh」ファイル / `wpa_supplicant.conf`**:  
  - 独自のイメージ書き込みスクリプトを使う場合などに便利  
  - シンプルで確実  
- **raspi-config**:  
  - ディスプレイとキーボードをつなげる環境があるなら簡単  
  - Lite版でも使えるのでGUIがなくても問題なし

---

## **5. SSHセキュリティに関する注意点**

上記の手順では簡単にSSHを有効化して**パスワード認証**を使っていますが、**セキュリティ面**では以下に注意が必要です。

### **5.1. 公開鍵認証の導入**
- **最も安全**なのは、**パスワード認証を無効**にして**公開鍵認証**を使うこと。  
- ローカルPCで鍵ペアを作成（`ssh-keygen`）、Raspberry Piの `~/.ssh/authorized_keys` に公開鍵を登録し、`PasswordAuthentication no` と設定すれば、辞書攻撃をほぼ無力化できます。

### **5.2. パスワードを強固にする**
- パスワード認証を残すなら、**安易な文字列**は避け、十分に複雑なパスワードを設定してください。  
- 初期設定（例: `pi:raspberry`）をそのまま使うのは非常に危険です。

### **5.3. ポート変更やFail2banなど**
- ポート番号を`22`以外に変更するとポートスキャンの頻度を下げられます（ただし本質的な防御にはならないことも多い）。  
- `fail2ban` や `ufw`、その他ファイアウォールを活用し、ログイン失敗の連続をブロックする仕組みを導入するのも効果的。

### **5.4. ネットワーク構成で守る**
- インターネットに直接公開するのではなく、**VPN経由**や**ローカルLAN内**のみに制限するだけでも安全度は大幅に高まります。  
- 公開せざるを得ない場合は、**公開鍵認証＋しっかりとしたFirewall設定**を行いましょう。

---

## **6. よくある質問 (FAQ)**

### **Q1. Raspberry Pi Zero 2 WのIPアドレスがわからない…**
- **A1**:  
  - ルーターの管理画面（DHCPクライアントリスト）で確認  
  - ネットワークスキャナツール（`arp -a`, `nmap` など）を使う  
  - ディスプレイを一時的につなげられるなら `hostname -I` で確認

### **Q2. 「ssh」ファイルを置いたのに接続できません**  
- **A2**:  
  - ファイル名が「ssh.txt」など拡張子つきになっていないか要確認。拡張子なし「ssh」が必要  
  - OSバージョンによってはユーザー名・パスワードの設定が必須になる場合あり  
  - Wi-Fi設定（`wpa_supplicant.conf`）が誤っている可能性もあるので再チェック

### **Q3. GUIを後からインストールしたい**  
- **A3**:  
  - `sudo apt update && sudo apt install --no-install-recommends raspberrypi-ui-mods` などで導入可能  
  - ただしZero 2 Wではメモリ512MBのため、重くなる可能性が高い

### **Q4. SSH接続がしばらくすると切断される**  
- **A4**:  
  - Wi-Fiの省電力モードやルーターのアイドルタイムアウトが原因の可能性  
  - なるべく省電力機能をオフにする、または有線LANアダプタを使うなどを検討

### **Q5. Wi-Fiが繋がらない**  
- **A5**:  
  - `wpa_supplicant.conf` の記述ミス（SSID/パスワード/国コード）が最も多い原因  
  - 2.4GHz帯を使えるか、暗号方式がWPA2-PSKになっているかも確認

### **Q6. Raspberry Pi OS以外のOSでも同じ「ssh」ファイル方式？**  
- **A6**:  
  - 多くのLinux系で同様の仕組みがあるが、Ubuntu Server for Raspberry Piなどはcloud-init等が使われることも  
  - 公式ドキュメントやディストリビューションごとの案内を確認する

### **Q7. Windows/MacからSSHする場合、特別な設定は必要ですか？**  
- **A7**:  
  - Windows 10以降は標準でOpenSSHクライアントが入っており、`ssh <user>@<IP>` でOK  
  - Macもターミナルで同じように実行すればOK  
  - いずれも公開鍵認証に切り替えたい場合はキーを作成し、Piに登録する手順は同じ

### **Q8. SSHアクセス時に「host key mismatch」や「host key verification failed」が出ます**  
- **A8**:  
  - これは、以前同じIPアドレスのホスト名で別のSSH鍵が登録されていたなどの状況。  
  - クライアントPCの `~/.ssh/known_hosts` 内の該当エントリを削除（`ssh-keygen -R <IPアドレス>`など）して再接続してみてください。  
  - セキュリティ上、原因を理解した上で行う必要があります。

### **Q9. 公開鍵を使おうとしているが`~/.ssh/authorized_keys`に書き込めません**  
- **A9**:  
  - Pi側で `mkdir ~/.ssh && chmod 700 ~/.ssh` をした後にファイルを作成。  
  - `chmod 600 ~/.ssh/authorized_keys` で権限を設定。  
  - `/etc/ssh/sshd_config` で `PubkeyAuthentication yes` が有効か確認。  
  - これらを整えれば公開鍵認証が使えるようになります。

---

## **7. まとめ**

- **Raspberry Pi OS Lite版**は初期状態でSSHが無効化されているが、**簡単な手順**でヘッドレス運用が可能  
- **Raspberry Pi ImagerのAdvanced settings**を使うのが最もラクで、Wi-Fi・SSH・ロケール設定を一度に行える  
- あるいは**bootパーティション**に「ssh」ファイルや `wpa_supplicant.conf` を置く方法、または `raspi-config` を活用  
- **SSHセキュリティ**には注意し、**公開鍵認証**などを導入して不正アクセスを防ぐのがおすすめ

これで、Raspberry Pi Zero 2 Wに**Raspberry Pi OS Lite**をインストールした直後から**SSH接続を有効化する方法**と、**セキュリティ上の配慮**について解説しました。トラブルがあればこの記事を参考に原因を切り分け、安全で快適なRaspberry Piライフをお楽しみください！

---

### **参考リンク**
- [Raspberry Pi公式 - Software (Imager)](https://www.raspberrypi.com/software/)  
- [SSH (Secure Shell) – Raspberry Pi Documentation](https://www.raspberrypi.com/documentation/computers/remote-access.html#ssh)  
- [Raspberry Pi ImagerのAdvanced settingsの日本語記事など](https://www.google.com/search?q=raspberry+pi+imager+advanced+settings)

---

以上