2
0

More than 1 year has passed since last update.

Raspberry Pi 4(Bullseye)のセットアップ

Last updated at Posted at 2022-05-30

はじめに

ちょくちょくRaspberryPiのセットアップをする機会があるにもかかわらず、毎回やり方を調べているので、この機会に備忘録がてら自身のセットアップについてまとめようと思います。

あくまで私のやり方でのセットアップになるので、これが正解というわけではありません。

環境について

・Windows10 (21H2)
・Raspberry Pi 4 (4GB)
・microSD (16GB)
・Raspberry Pi Imager v1.7.2

1. RaspberryPiImagerのダウンロード

上記サイトよりダウンロードしてください。

2. OSの書き込み

Raspberry Pi Imagerを起動し、OS、ストレージ、設定を行います。
image.png
まず「OSを選ぶ」より必要なOSを選択してください。
私は「Raspberry Pi OS (other)」>「Raspberry Pi OS Lite (64bit)」を選択しています。
次に「ストレージを選ぶ」で、書き込みを行うSDカードを選択してください。

ここまで行うと、右下に歯車の設定アイコンが表示されます。
image.png

詳細設定について

歯車アイコンをクリックすると詳細設定項目が表示されます。
(昔はsshファイルを置いたりしてたのがここで全部設定できるなんて、便利になりましたね)

ここでユーザ名とパスワードを設定しなかった場合、初回起動時にモニタに接続する必要があります。
モニタ無しでセットアップ(ヘッドレスセットアップ)をする場合は、ここで必ず設定しておきましょう。
https://qiita.com/tama_2396k/items/95596738bd5e6e5d8218

image.png

  • ホスト名
    • デフォルトは raspberrypi .local
  • SSHの有効化
    • 公開鍵認証の設定をしたときに、公開鍵は表示されているが、秘密鍵がどこに格納されるのかが不明のため、とりあえずはパスワード認証で進める。
  • ユーザ名とパスワード
    • ユーザ名 pi も設定はできるが非推奨
  • Wi-Fi
    • 私は有線接続でしか運用しない予定なので未入力にしています。
  • ロケール
    • タイムゾーン: Asia/Tokyo
    • キーボードレイアウト: jp

設定完了後、「書き込む」ボタンを押してOSの書き込みを行ってください。

3. IPアドレスの確認

OSの書き込みが完了した後、SDカードを本体に挿入し、電源を接続して起動してください。
SSH接続をするためにRaspberry PiのIPアドレスを調べます。

参考記事↓

Windowsのコマンドプロンプトを立ち上げ、以下のコマンドを実行(192.168.0.%iの部分は自身の環境に合わせる)

for /l %i in (0,1,255) do ping -w 1 -n 1 192.168.0.%i

第4オクテットを0~255で回して検索するため少し時間がかかります。
検索完了後、以下のコマンドを実行

arp -a

すると以下のような結果が表示されます。(一部マスクしています)

インターフェイス: 192.168.0.45 --- 0x8
  インターネット アドレス 物理アドレス           種類
  192.168.0.1         58-27-xx-xx-xx-xx     動的
            ~~ 中略 ~~
  192.168.0.25        e4-5f-01-xx-xx-xx     動的
  192.168.0.201       b8-27-eb-xx-xx-xx     動的
  192.168.0.202       b8-27-eb-xx-xx-xx     動的
  192.168.0.255       ff-ff-ff-ff-ff-ff     静的

192.168.0.201と192.168.0.202に関しては既存のRaspberryPiです。
昔の記事では b8-27-eb 始まりがRaspberryPiと紹介されてたりしますが、IEEEを確認すると、RaspberryPiのMACアドレスは下記の4種類に増えたようです。(2022年5月25日現在)

※リンク先で raspberry pi で検索
image.png

この4種類のどれかから始まるMACアドレスのものがRaspberryPiとなりますが、個人的にはルーターの管理画面から検索する方が速くて楽です。
image.png
image.png
もしくは、せっかく詳細設定でホスト名指定できるようになったので、ホスト名で接続してもいいですね。

4. SSH接続~初期設定

Tera Termを起動し、IPアドレスやホスト名でログインします。
image.png
ログインに使用するユーザ名とパスワードは、詳細設定で入力した値になります。

ログインができたら、初期設定を行っていきます。

raspi-config

下記コマンドを実行し、設定画面を表示します。

$ sudo raspi-config

image.png

ロケールの設定

[5 Localisation Options] > [L1 Locale]
[ ] ja_JP.UTF-8 UTF-8 にカーソルを合わせ、スペースキーで選択
image.png

次の画面ではシステム全体での言語設定となるため、私は「en_GB.UTF-8」としています。
※日本語でしか使用しない場合は「ja_JP.UTF-8」でいいと思います。
image.png

他の設定はRaspberry Pi Imagerの詳細設定で入力した内容なので割愛。

パッケージの更新

いつものやつ。

$ sudo apt update
$ sudo apt upgrade

vimの入れ替え

この後、いろいろなファイルを触る必要が出て来るが、デフォルトで入ってるvimは最小構成で使い勝手が悪いため入れなおす。

# 今インストールされているvimの確認
$ dpkg -l | grep vim
ii  vim-common                           2:8.2.2434-3+deb11u1             all          Vi IMproved - Common files
ii  vim-tiny                             2:8.2.2434-3+deb11u1             arm64        Vi IMproved - enhanced vi editor - compact version
# vimをアンインストール
$ sudo apt remove -y --purge vim-common vim-tiny

# 通常のvimをインストール
$ sudo apt install -y vim
$ dpkg -l | grep vim
ii  vim                                  2:8.2.2434-3+deb11u1             arm64        Vi IMproved - enhanced vi editor
ii  vim-common                           2:8.2.2434-3+deb11u1             all          Vi IMproved - Common files
ii  vim-runtime                          2:8.2.2434-3+deb11u1             all          Vi IMproved - Runtime files

viでのクリップボード有効化

今入れたviでもクリップボードへのコピーやペーストができない。
※[+]は使用可、[-]は使用不可

$ vim --version | grep clipboard
-clipboard         +jumplist          +popupwin          +user_commands
+ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard

そのため追加インストール。
入れるのは下記サイトを参考にvim-gtkを選択。
Raspbian Vimでクリップボードにコピーできるようにした

$ sudo apt install vim-gtk
$ vim --version | grep clipboard
+clipboard         +jumplist          +popupwin          +user_commands
+ex_extra          -mouse_jsbterm     -sun_workshop      +xterm_clipboard

.vimrcの設定

設定内容はお好みで。

$ touch ~/.vimrc
$ echo "set fileencodings=utf-8" > ~/.vimrc
$ echo "set nocompatible" >> ~/.vimrc
$ echo "set number" >> ~/.vimrc
$ echo "set cursorline" >> ~/.vimrc
$ echo "syntax enable" >> ~/.vimrc
$ echo "set title" >> ~/.vimrc
$ echo "set hlsearch" >> ~/.vimrc
$ echo "nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>" >> ~/.vimrc
$ echo "set backspace=indent,eol,start" >> ~/.vimrc
$ echo "set clipboard=unnamed,autoselect" >> ~/.vimrc

$ sudo ln -s ~/.vimrc /root/.vimrc
$ sudo ln -s ~/.vim /root/.vim

参考にした記事

Raspberry Pi のvi編集モードで入力ができない事象の解消
vimで方向キーがABCDを入力してしまう問題の解決
脱初級者のためのVim設定ガイド
オプションを設定してvi/vimを使いやすくする〜初心者編
Vimをカスタマイズしよう 〜 Vimはいいぞ!ゴリラと学ぶVim講座(6)

IPアドレスの固定

現状ではDHCPによってIPアドレスが振られているため、IPアドレスを固定化します。
念のため ifconfig で対象のインターフェースを確認しておく。

$ ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
$ sudo vi /etc/dhcpcd.conf

下記を追記

dhcpcd.conf
interface eth0
static ip_address=192.168.0.XXX/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
static domain_search=
noipv6

設定の反映

$ sudo service dhcpcd reload

変更後のIPアドレスで接続テストを行いますが、その際今操作しているTeraTermは閉じない事!
もし編集内容が間違っていて、新しいIPアドレスで接続できなかった場合、元に戻す手段がなくなります。

設定した固定IPでSSH接続できることを確認したら、元のTeraTermは閉じても構いません。

公開鍵認証

鍵の作成

パスワード認証での接続ではセキュリティに不安があるので、公開鍵認証にします。
Windows上でコマンドプロンプトを立ち上げ、以下コマンドを入力します。

> ssh-keygen -t rsa -b 2048

鍵の保存場所を聞かれるので、「保存場所+ファイル名」の形式で入力します。

Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\ユーザ名/.ssh/id_rsa): D:\key\id_rsa

その後パスフレーズを2回入力することでファイル鍵が作成されます。

Raspberry Pi側の設定

Tera TermのSSH SCPを用いて、先ほど作成した公開鍵をRaspberry Piに送信します。
image.png
送信したファイルを基に設定を行っていきます。
設定後は送信した公開鍵ファイルは不要になるので削除します。

$ mkdir .ssh
$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys
$ rm id_rsa.pub

続いてSSHサーバの設定を変更します。
主な作業内容は以下の4点

  • SSHポートの変更
  • rootログインの禁止
  • 公開鍵認証の有効化
  • パスワード認証の無効化
$ sudo vi /etc/ssh/sshd_config
/etc/ssh/sshd_config
# ポートの変更
#Port 22
+ Port 10022

# パスワード認証の無効化
#PasswordAuthentication yes
+ PasswordAuthentication no

# 空パスワードでのログインを無効化
#PermitEmptyPasswords no
+ PermitEmptyPasswords no

# rootユーザでのログインを無効化
#PermitRootLogin prohibit-password
+ PermitRootLogin no

# 公開鍵認証の有効化
#PubkeyAuthentication yes
+ PubkeyAuthentication yes
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2
+ AuthorizedKeysFile %h/.ssh/authorized_keys
+ RSAAuthentication yes

# ログインに関するログの出力
#SyslogFacility AUTH
#LogLevel INFO
+ SyslogFacility AUTHPRIV
+ LogLevel VERBOSE

参考にした記事

Raspberry Piに公開鍵認証を使ってssh接続する
セキュアなSSHサーバの設定

設定が完了したらsshを再起動します。

$ sudo /etc/init.d/ssh restart

ここでも、接続テスト時は、構文エラー時のリカバリ用として元のTere Termをそのままにして行いましょう。

新しくTera Termを立ち上げ、変更したポート番号を入力し接続します。
image.png
秘密鍵ファイルを選択し、パスフレーズは鍵作成時に入力したものを入力します。
image.png
無事接続ができれば、sshの公開鍵認証化は完了です。

これで初期設定は完了です。

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