昨日、 Raspberry Pi のことを書きました。せっかくなので、使ってなかったヤツをアップデートしようと思ったら、SDカードがいかれていました。しょうがないので、1からセットアップしようとしました。「しました」? ええ、しました。なんと途中で大きなミスをしてアクセスできなくなりました。もうね、もう一回やります。このブログでメモ取りながらやりますとも。
1.ダウンロード&SDカードへ書込み
ダウンロード先ちょっと見ないうちに変わりましたね。4B+用にいろんなディストロビューションが用意されています。
Operating system images – Raspberry Pi
Raspberry Pi OS というのを選択しますが、3種類ありますね。この中の Lite を選択しました。
SDカードへの書込みには balenaEtcher – Flash OS images to SD cards & USB drives を選びました。以前に比べて、エラーチェックを厳格にしているみたいで、一つ一つの動作が緩慢になりましたね。OSとの関係もあるのかもしれませんね。操作法に関しては省略。ググると出てきます。
2.ヘッドレスで操作するための一手間
今回、 Raspberry Pi をヘッドレスで設定しようとしています。ヘッドレスってのは、モニターをつながず他の PC から ssh で接続することを言いますが、標準では ssh が通りません。そこで一手間かけます。
先ほど書き込んだSDカードを再度マウントさせます。 boot というのがマウントされると思うので、内容のない「 ssh 」という名前のファイルを置きます。 macOS だと
$ touch /Volumes/boot/ssh
で OK ですね。最初の起動でこのファイルが読み込まれ、標準的な ssh が通るようになります。ここで出来たSDカードを Raspberry Pi にセットして電源を接続。起動するまで待ちましょう。以後は別のマシンのターミナルから操作します。
3.最初のログイン
私は、 Router にあらかじめ MAC アドレスに紐付く形で IP アドレスを割り当てておりまして、今回使う Raspberry Pi にはすでに決められたアドレスが割り当てられています。なので簡単なのですが、 IP アドレスが DHCP によって振り分けられている場合は IP アドレスがわからないので、探さなければなりませんね。スミマセンが省略です。
ssh の初期設定は、ユーザー名が「 pi 」、ログインパスワードが「 raspberry 」、ポートは 22 になっています。この情報を元に ssh 接続します。
4 .ユーザー名とパスワードの変更
なんぼなんでも初期設定のまま使い続けるのは、セキュリティ上まずいので、ユーザー名とパスワード、それと接続ポートを変更します。実は最初にやったときに、接続ポートの変更で設定ミスして ssh の接続ポートがわからなくなってしまいました。こうなるとお手上げです。ちゃんと確認しながらやりましょうね。
さて、そのままでは変更できないので、一時的なユーザーを作ってそいつでログインし、ユーザー名を変更します。この部分、ログイン・ログアウト、ユーザー名、パスワードが各々違ったりして紛らわしいので注意してください。
まずは一時的なユーザー (temp) を作ります。
$ sudo useradd -m temp
$ sudo gpasswd -a temp sudo
Adding user temp to group sudo
$ sudo passwd temp
New password:●●●●
Retype new password:●●●●
passwd: password updated successfully
$ exit
$ で始まる行が入力する行になります。1行目で「 temp 」ユーザーを作ります。2行目ではそのユーザーを sudo グループに入れます。これしないと、 temp ユーザーが sudo 出来ません。続いて temp ユーザーのパスワードを決めます。「●●●●」の部分がパスワードになりますが、エコーバックはありませんので、気をつけて入力してください。
次は今作った temp ユーザーでログインします。先ほどは pi ユーザーでした。今度は temp ユーザーです。パスワードも異なりますので注意です。
$ sudo usermod -l newuser pi
$ sudo usermod -d /home/newuser -m newuser
$ sudo groupmod -n newuser pi
$ exit
1行目で pi ユーザー名を新しいユーザー名に変えます。ここでは「 newuser 」としました。2行目はホームフォルダを変更し、3行目でグループを変えます。ここまでで temp ユーザーはお役御免になりますので、 exit します。
さて、新しいユーザー newuser でログインするんですが、この newuser 君のパスワードはまだ変わっていません。 newuser 君はもともと pi ユーザーの名前を変えたものですから、ユーザー名: newuser 、パスワード: raspberry です。この条件でログインします。
$ sudo userdel temp
$ sudo passwd newuser
New password:●●●●
Retype new password:●●●●
passwd: password updated successfully
$ sudo rm /etc/sudoers.d/010_pi-nopasswd
$ exit
1行目で先ほどお役御免になった temp ユーザーを削除します。2行目は newuser のパスワードを設定します。先ほどと同じように「●●●●」の部分が、パスワードでエコーバックはありません。もちろん、 temp ユーザーと newuser ユーザーで違うパスワードで全く問題ありません。最後にファイルを一つ削除しています。これは、 pi ユーザー(変更しました)がパスワードなしで作業できるようにするための設定で、残っていていいことはありませんので、削除します。
以上のユーザー名変更のセクションは、「[Raspbian]ユーザ名変更の個人的に「正しい」と思うやり方 | 純規の暇人趣味ブログ」を参考にって言うか、まるっきり一緒だったりします。言葉足らずの部分はリンク先を参照してください。
5.秘密鍵・公開鍵を設定
これ端折ります。先ほど作った newuser でログインしてそのホームに「 .ssh 」というフォルダを作り、そこに公開鍵をコピーします。この辺、たくさん解説しているサイトがあるので、ググってみてください。(長くなってきてるもんで … )
6.アップデート
これをまず最初にやるべきだという声がありそうですね(汗
$ sudo apt update
$ sudo apt -y upgrade
$ sudo apt -y dist-upgrade
$ sudo rpi-update
$ sudo reboot
上2行は定期的に行う通常のアップデートで、その下は何かあったときにやればいいやつです。特に4行目はファームウェアのアップデートで、これをやった後は必ずリスタートしなければなりません。
<小休止>
長くなってきたので、エントリーを分けます。後半では、 USB に接続した HDD のマウント。ネット越しの NAS マウント。などを行います。後半は明日。
投稿者プロフィール
最新の投稿
- Mac2024年9月11日iPhone16Pro
- Linux2024年9月8日24.04 の Update ではまった
- ノン・カテゴリ2024年7月21日Kindle 世代交代
- Linux2024年7月7日convert → magick