2022年7月5日火曜日

Raspberry Pi OSで初回起動時にSSH接続できなくなった?

Raspberry Pi OSの64bit版が正式にリリースされてしばらくたったので、Raspberry Pi OSを64bitに切り替えることにした。SDカードにイメージを書き込んで、起動後にSSH接続しようとしたが接続できない。今までは、イメージを書き込んだあとに/boot/sshファイルを作成しておけば、初回起動時にSSHサーバーが起動し、デフォルトユーザーpiでSSH接続できていた。

調べたところ、セキュリティ対策のため、以前は存在したデフォルトユーザーpiがなくなったとのこと。

An update to Raspberry Pi OS Bullseye

公式ツールのRaspberry Pi Imagerを使えば、ユーザー作成ウィザードでユーザーを作成できるらしい。他の方法としては、書き込んだイメージに/boot/userconfを作成し、そこにユーザー名とパスワードハッシュを記述しておくと、初回起動時にユーザーが作成され、そのユーザーでSSH接続できるようになる。パスワードハッシュの作成方法は以下の通り。

opensslが使用できる環境で以下のコマンドを実行。ここではWSL2のUbuntuで実行した。

$ openssl passwd -6 "password"
$6...

passwordがユーザーのパスワードで、オプションの-6を指定するとSHA512でハッシュ化する。出力される$6ではじまる文字列がパスワードハッシュ。

ユーザーpitestを起動時に作成する場合は、/boot/userconfに以下のように書き込む。

pitest:パスワードハッシュ

こうしておくと、/boot/sshが存在すれば初回起動時にSSHが起動し、userconfで設定したユーザーでSSH接続できる。


0 件のコメント:

コメントを投稿