raspios bookworm インストールメモ 

 2023.12.30

Hard: RaspberryPI3 modelB


raspberryPI3はメモリは1GBで、処理速度も遅いのでx-windowなしで、サーバー用途の軽い osをインストールした。そのメモ。


1 イメージをダウンロード&インストール、初期設定

 https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-32-bit  からRaspberry Pi OS Lite 
の 2023-12-11-raspios-bookworm-armhf-lite.img.xz をダウンロード。


念の為ハッ シュをチェック。下記コマンドを実行してしばらく待って表示されたハッシュ値とダウンロードページのハッシュ値が同じならOK
$ sha256sum 2023-12-11-raspios-bookworm-armhf-lite.img.xz

マイクロsdカードを用意して,gpartedを使って全体をfat32の区画にする。購入したデフォルトのままでもOK
イメージをマイクロsdカードにインストールするには、(パソコンのosがdebian bookwormでgnomeを使用している場合),ファイルマネージャで開いて
2023-12-11-raspios-bookworm-armhf-lite.img.xzを右クリしてディスクイメージライターを使っ て書き込む。

 イメージを書き込んだsdカードをraspberrypi3に差し込み、 起動して最初の画面で言語と国、キーボードの設定、ユーザアカウント等を
設定する。
 ここで設定したユーザは、 /etc/sudoers.d/の010_pi-nopasswdに、sudo su コマンドをパスワード無しで使えるユーザとして登録される。
 (以前はデフォルトでpiというユーザがsudo  suコマンドを使えるように設定されていた)

loginプロンプトがでたら、登録したユーザアカウントでログインしてraspi-config を起動する。

$ sudo raspi-config

raspi-configで設定する項目は
・sshサーバを enableにする
・ホスト名(必要に応じて)
・ロケールの選択(ja_JP.UTF-8 UTF-8)
・タイムゾーンの設定
・wifiの設定
などである。
wifiの設定は、SSIDリストは出てこないので、間違えないようにSSIDとkeyを入力する。


2 ipアドレスの固定

ipアドレスを見るコマンドは
$ ip addr show

ipアドレスを固定するには、ip addr showコマンドでMACアドレス(6バイト)を調べて、onu側で,そのMACアドレスに対してstaticなipアドレスを
割り振るように設定しておく。


3 sshの設定

  raspberryPiをサーバー、パソコンをクライアントとしてパソコン側からRaspberryPiへsshでアクセスする設定

(1) rasperryPiはraspi-configでsshサーバーをenableにしておく

(2) パソコン側で公開鍵ペアを作成する
 
鍵を作るときのパスワードはサーバーのパスワードとは別物である。

$  ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa):   このままenter
Enter passphrase (empty for no passphrase):                         パスワードを入れる
Enter same passphrase again:                                        再度パスワードを入れる
Your identification has been saved in /home/hogehoge/.ssh/id_rsa.
Your public key has been saved in /home/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:DXkvga6+uGv9L1dUdRiNEJcLezFVedhNVMhKsB+vEgU hogehoge@akagera
The key's randomart image is:
+---[RSA 4096]----+
|          E.s+o#&|
|         o co.@.*|
|        + +.o= +.|
|       . + =+oo  |
|   a    S +.o..  |
|       . d o..   |
|     ..   .q.    |
|    .o. . ..     |
|   .+ooo.+.      |
+----[SHA256]-----+


~.ssh/下に秘密鍵id_rsaと公開鍵id_rsa.pubができる

公開鍵をサーバーに送信する
$ ssh-copy-id  -i .ssh/id_rsa.pub  hogehoge@raspberrypi.local
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
The authenticity of host 'raspberrypi.local (192.168.3.30)' can't be established.
ECDSA key fingerprint is SHA256:6LtS3P30HdhynlZJZiPUvD11DTRS+X/oMKt4ADmr4vI.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
hogehoge@raspberrypi.local's password:   こ こは鍵のパスワードではなくサーバーログインのパスワード

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'hogehoge@raspberrypi.local'"
and check to make sure that only the key(s) you wanted were added.


サーバーにログインしてみる
$ ssh hogehoge@raspberryp.local
Enter passphrase for key '/home/hogehoge/.ssh/id_rsa':秘密鍵のパスワードを入れる  


7 ufwの設定

(1)インストール

$sudo  apt-get install ufw
(2)デフォルトですべてのポートへの接続を禁止する
$ sudo ufw default deny
なんてことをsshで接続しながらやるとぷっつんするから、リモートでは気をつけよう。


(3)開放するポートを記述(ルールの記述)(ssh のポート22  これはまず最初に開放しておかないとsshで接続できなくなるので大変)
$ sudo ufw  allow 22
 そのほか80(http)  443(ssl)など必要に応じて開放
  ルールはufwを停止したりサーバーをシャットダウンしても消えない

(4)有効化(ufwの起動)
$ sudo ufw  enable
サーバーを再起動しても有効のままになっている

既にufwが動作しているときはreloadを使う
$ sudo ufw  reload

(5)状態の確認
$ sudo ufw status


(6)ルールの消去
 例えば80番ポートのルールを消去するには
$ sudo ufw delete allow 80

(7)ufwの停止(off)
$ sudo ufw disable