ページ

2021年2月6日土曜日

Raspberry Pi で初回起動時からsshでアクセスする方法

何番煎じかわからないけれど,Raspberry Pi用のmicro SDカードにRaspberry Pi OSをインストールした直後の初回起動時からsshでアクセスできるようにする方法.

結論から言うと,/boot/ 直下に ssh という名前のファイルを置くだけ.

それでは細かい手順を解説します.

【OSのインストール】


インストール済みの人は読み飛ばしてください.

Raspberry Pi の公式HPからOSのイメージをダウンロードする(.torrent ファイルの方が早くてオススメです)
https://www.raspberrypi.org/software/operating-systems/

.torrent ファイルを落とした場合は,BitTorrentクライアントソフトで受信する.(終了したらCtrl+Cで止める)
 $ transmission-cli -w . 2021-01-11-raspios-buster-armhf-lite.zip.torrent

受信したzipファイルのハッシュ値を確認する.(OSのダウンロードサイトにハッシュ値が載っているので照合する)
 $ sha256sum 2021-01-11-raspios-buster-armhf-lite.zip
 d49d6fab1b8e533f7efc40416e98ec16019b9c034bc89c59b83d0921c2aefeef  2021-01-11-raspios-buster-armhf-lite.zip

zipファイルを解凍する.
 $ unzip 2021-01-11-raspios-buster-armhf-lite.zip
 Archive:  2021-01-11-raspios-buster-armhf-lite.zip
   inflating: 2021-01-11-raspios-buster-armhf-lite.img

イメージファイルをmicroSDカードに書き込む.(途中経過が表示されるので,ddよりもddrescueを推奨します)
 $ sudo ddrescue --force 2021-01-11-raspios-buster-armhf-lite.img /dev/sdb
 GNU ddrescue 1.23
 Press Ctrl-C to interrupt
      ipos:    1862 MB, non-trimmed:        0 B,  current rate:   2424 kB/s
      opos:    1862 MB, non-scraped:        0 B,  average rate:  14898 kB/s
 non-tried:        0 B,  bad-sector:        0 B,    error rate:       0 B/s
   rescued:    1862 MB,   bad areas:        0,        run time:      2m  4s
 pct rescued:  100.00%, read errors:        0,  remaining time:         n/a
                               time since last successful read:         n/a
 Finished


【microSDカードのマウント及びsshファイルの作成】


一時ディレクトリを作成して,microSDカードの一番目のパーティションをマウントする
 $ mktemp -d
 /tmp/tmp.0d9rgrOiIT
 $ sudo mount /dev/sdb1 /tmp/tmp.0d9rgr0iIT

一時ディレクトリに移動して,sshファイルを作成する.
 $ cd /tmp/tmp.0d9rgr0iIT
 $ sudo touch ssh

元のディレクトリに戻り,microSDカードをアンマウントする.
 $ cd -
 $ sudo umount /dev/sdb1
 $ rmdir /tmp/tmp.0d9rgr0iIT


【Raspberry Piにsshでアクセスする】


起動したRaspberry PiのIPアドレスを探す.
 $ arp
 Address                  HWtype  HWaddress           Flags Mask            Iface
 192.168.100.108          ether   b8:27:eb:XX:XX:XX   C                     br0

sshでアクセスする
 $ ssh pi@192.168.100.108
pi@192.168.100.108's password: ← 初期パスワードは'raspberry'になっている

実際にssh及びsshdが自動起動される設定になっているか確認する
(すでに,sshでアクセスできている時点でそうなっているに決まっているが.)
 $ sudo systemctl is-enabled ssh sshd
 enabled
 enabled


ずいぶん前からセキュリティ対策のためにデフォルトでssh無効になってしまったが,モニターレスで使う場合,非常に面倒くさい..orz

0 件のコメント:

コメントを投稿