0
0

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 OS Lite版で、最初からSSHを使えるようにする設定

Last updated at Posted at 2025-01-11

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

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


目次

  1. Raspberry Pi Imagerの「Advanced settings」を使う方法(推奨)
  2. bootパーティションにファイルを置いて手動で有効化する
  3. ディスプレイとキーボードがあるならraspi-configで設定
  4. どの方法がおすすめ?
  5. SSHセキュリティに関する注意点
  6. よくある質問 (FAQ)
  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のダウンロード&インストール

    • 公式サイト へアクセスし、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:
    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 ファイルを置きます。内容例:

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以外に変更するとポートスキャンの頻度を下げられます(ただし本質的な防御にはならないことも多い)。
  • fail2banufw、その他ファイアウォールを活用し、ログイン失敗の連続をブロックする仕組みを導入するのも効果的。

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_configPubkeyAuthentication 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ライフをお楽しみください!


参考リンク


以上

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?