LoginSignup
2
0

More than 1 year has passed since last update.

【2023年最新版】Raspberry Pi をキーボード,ディスプレイなしで初期設定する

Posted at

2022年4月ごろからRaspberry Pi OSをキーボード,ディスプレイなしでセットアップする方法が変わったっぽい.日本語だと古い情報しかなかったので書いた記事.

具体的には起動時に自動的にユーザを作成し,SSHサーバを立ち上げる方法を解説する.このうち自動的にユーザを作成する部分が変わった.

ユーザ作成の公式情報元は以下.

前提

  • Raspberry Pi OS
  • Raspberry Pi Imagerを使わない
    • 使う場合はGUIで設定できるらしいので解説するまでもないと思う
  • 有線LANで接続する
  • (ほかにLinuxマシンがある)
    • なくてもできるのだが,ない場合はパスワードハッシュの生成が面倒なので,素直にRaspberry Pi Imagerを使った方が良いと思われる

手順

イメージファイルダウンロード

以下のリンクからインストールしたいバージョンのOSイメージをダウンロードする.

ダウンロードしたファイルは圧縮されているので解凍しておく.Windowsなら7-Zipで解凍できた.

イメージファイル書き込み

解凍したイメージファイルをSDカードに書き込む.Windowsなら例えばWin32 Disk Imagerが有名.

起動時に自動でユーザを作成する

書き込みが終わるとSDカードの中身が見えるようになる.二つのパーティションが存在するが,その内FAT32の方のルートディレクトリを開く.というか,もう一方はext4でWindowsやMac OSでは非対応なので開こうと思っても開けない.中身は以下のような感じ.

このディレクトリ直下にuserconf.txtという名前のテキストファイルを作成する.Windowsなら右クリックから「新規作成」→「テキスト ドキュメント」と選び,ファイル名はuserconf.txtにする.

作成したファイルをダブルクリックしてメモ帳で開き,中身をusername:encrypted-passwordという一行にして保存する.ただし,usernameの部分を作成したい任意のユーザ名,encrypted-passwordの部分を以下で説明するハッシュ化したパスワードにする.

ハッシュ化したパスワードは別のLinuxマシンがあるならコンソールから

$ echo 'mypassword' | openssl passwd -6 -stdin

で出力できる.ただしmypasswordの部分を任意のパスワードにする.

別のLinuxマシンがないなら例えばこのサイトの「SHA512-CRYPT」の出力欄から先頭「{SHA512-CRYPT}」の文字を削除した部分として得ることもできる.が,他人にパスワードを知らせることになるので推奨はできない.ローカルで生成することも当然できるのだが,わりと面倒になるのでここでは解説しない./etc/shadowのパスワードハッシュの仕組みについて調べればいけるが,それならRaspberry Pi Imagerを使った方がいい気がする.

例えばユーザ名をtest,パスワードをpasswordにするならuserconf.txtの中身の一例は

userconf.txt
test:$6$tgP0Jx6tNRffDjk3$sv/3zx64GZ0tjwuBtPzyuMkD9XpVStNY7ivO4rWKFRa18WXxIAMrc/9voF16qCw.BuJ3RvuTUchHnVnx8zHPh1

となる.ただし,ハッシュ化したパスワードの部分は同じパスワードを使っても同じ文字列になるとは限らないので一致はしない.

起動時にSSHサーバを有効にする

userconf.txtを作成したのと同じディレクトリにsshというファイル名の空のファイルを作成する.Windowsなら同じように右クリックから「新規作成」→「テキスト ドキュメント」と選び,ファイル名をssh(末尾の.txtは削除)とする.この時拡張子が変わったと警告がでるが,「はい」を選んで続行する.sshファイルの方の中身は空で良いので以上.

起動・SSH接続

SDカードをRaspberry Piに挿してLANケーブルをつなぎ,電源を入れる.作成したファイルに従って初期設定が行われるので数分待った後,別のマシンからホスト名raspberrypi.localでSSH接続する.ユーザ名とパスワードは設定したものを用いる.

raspberrypi.localで接続できない場合もある(私はできなかった.).その場合はIPアドレスを自分で調べる必要がある.私はDHCPサーバのリース記録から調べた.

あとがき

もともとはユーザ名pi,パスワードraspberryの固定で初期化されていたのが,必ず個々に決めさせるようになった形だ.初期値をそのまま使ってしまう人が一定数いて,セキュリティ的な問題が多かったから変えたようだ.一部の国では法律でインターネットに接続する機器にデフォルトの認証情報を持たせるのを禁止しているところもあるらしい(最上部の公式情報のリンクより).

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