Raspberry Pi のインストール・最強初期設定

スポンサーリンク

このページでは、ラズベリーパイ(ラズパイ)のOS「Raspbian」のインストール法の解説と、個人的な最強初期設定について解説していきます。

Raspberry Piを「VPNサーバー」にしたい方はこちらの記事を参照してください。

Raspberry PiをDHCPサーバーにしたい方はこちらを参照してください。

Raspberry Piを監視カメラにしたい方はこちらをどうぞ。

スポンサーリンク

Raspbian Buster

Raspbian Busterは、OSの一種であるLinuxのディストリビューション「Debian 10 “Buster”」を『ラズパイ』向けに改造したもので、Raspberry Pi公式のOSとなっております。Raspberry Piに入れるOSはほぼこれ一択となっております。

インストール

Raspbianの導入方法は、大きく次の4つがあります。

  • 1. Raspbian導入済みSDメモリーカードを購入する。
  • 2. NOOBS LiteをSDにコピー後、Raspberry Piで起動し、Wifi経由でRaspbianのDesktopかLiteを導入する。
  • 3. SDをFormatして、RaspbianのDesktopかLiteを導入する。
  • 4. NOOBSをSDにコピーする。Raspbianを含んでいる。

今回は、4つ目の選択肢である、「NOOBS」を使ったインストールを行います。個人的に、これが一番簡単だと思います。
まず、Raspberry Pi財団のホームページに移動します。

ページ上部の「Downloads」をクリックするか、こちらをクリックします。

「NOOBS」をクリックします。

「NOOBS」を「Download ZIP」をクリックしてダウンロードしてください。もしくはこちらをクリックすれば、最新版のNOOBSのダウンロードが始まります。「NOOBS Lite」と間違えないでください。

ダウンロードした「NOOBS_v3_2_0.zip」を展開(解凍)してください。(右クリックで展開できます)
展開したファイルたちはこのようになっています。

これらをFAT32でフォーマットされたMicroSD(8GB以上)に書き込んでください。ちなみに今回使用したMicroSDは台湾メーカーTeam Group製の32GBカード。安さ重視でのセレクトです。デザインもおしゃれです。

Team microSDHCカード 32GB 高速転送UHS-1 日本国内10年保証 SD変換アダプター付属 正規品
MicroSDHC 32GB UHS-1 SD変換アダプタ付属 読込:80MB/s 書込み:15MB/s 保証:10年(安心の日本国内サポート) ◇特徴 高速転送UHS-1規格対応 カラー印刷。スマートフォン、タブレット、ゲーム機などの対応...

MircoSDカードにデータをコピーしたら、Raspberry Piにセットし、USBキーボードUSBマウス、HDMIケーブル、(LANケーブル)、電源ケーブルを刺して起動します。

こんな感じの起動画面になれば成功です。しばらく待つと、インストール選択画面が表示されます。

ここで、言語設定は日本語にしておきました。英語でもよいと思います。

インストール選択画面で、「Raspbian Full」のチェックをつけ、インストールをクリックします。

警告が表示されるので「はい」をクリックするとインストールが開始されます。数十分待ちます。

インストールが完了するとこのような形になります。しばらく待つと、デスクトップ画面へと移行し、セットアップウィザードへ入ります。ここは英語のみなようです。

初期設定編

Nextをクリックし、ローカライズ設定へ移ります。

日本語を使うので、上記のように設定し、Nextをクリックし、次に移ります。

パスワード変更設定です。Raspbianでは、初期ユーザーとして、「pi」が設定されています。パスワードは「raspberry」です。このままの設定で使い続けるのは非常に危険なので、パスワードを変更しておきます。ちなみに、raspberry piの利用者の殆どはpiユーザーを利用しているので、インターネット上から悪意のあるクラッカーがpiユーザーに対して攻撃をかなり仕掛けられます。のでpiユーザーは後に使えなくなるようにロックしておいたほうがよいと思います。とりあえず今はなにかパスワードを設定し、Nextで次へ行きます。

画面に黒い枠があればチェックする、という画面表示の詳細設定ですが、どっちでもいいです。

Wi-Fiの設定です。場合に応じて設定します。

ウィザードの設定が済んだので、「Restart」を押して再起動させます。

再起動したRaspberry Piです。きれいなデスクトップが表示されました。

左上のラズベリーアイコンをクリックして、「設定」→「Raspberry Piの設定」をクリックします。

まず「システム」タブの設定です。ホスト名を好きなものに変えましょう。

次に、「インターフェイス」の設定です。SSHとVNCを「有効」にしましょう。こうすることで、今後の操作は全て外部から行うことができます。以上で基本の初期設定は終わりです。

最強初期設定

ここから、個人的な最強設定をメモしていきます。

ソフトウェアのアップデート

初期設定の一部として、ソフトウェアパッケージのアップデートもやってしまいましょう。

sudo apt-get update && sudo apt-get -y dist-upgrade && sudo apt-get -y autoremove && sudo apt-get autoclean

参考サイト
https://www.raspberrypi.org/documentation/raspbian/updating.md
https://jyn.jp/raspbian-setup/

vimのインストール

万能エディタvimをインストールします。個人的にnanoよりもvimのほうが慣れているので。ちなみに、機能制限版のvim-tinyは最初からインストールされています。まず最初に、vim-tinyを削除し、その後vimをインストールします。

sudo apt-get -y --purge remove vim-common vim-tiny && sudo apt-get -y install vim

さらに、visudoなどで開かれるデフォルトのエディタを、nanoからvimへ変更します。nano派の方は行わないでください。

sudo update-alternatives --set editor /usr/bin/vim.basic

参考サイト
https://qiita.com/B73W56H84/items/1d164a3c083872e10ccb
https://raspberrypi.stackexchange.com/questions/5367/how-do-i-change-the-editor-used-by-visudo
https://qiita.com/b4b4r07/items/f7a4a0461e1fc6f436a4#vimbasic
https://qiita.com/koara-local/items/35b999631b6ab41fdc9f

ローカルIPの固定

デフォルトだとDHCPを利用して自動的に振り分けられたIPになっているので、サーバーとしてRaspberry Piを使うならほぼ必須の設定でしょう。

sudo vi /etc/dhcpcd.conf

と入力して、ネットワーク設定を編集します。/etc/dhcpcd.confの一番下に、

interface eth0
static ip_address=192.168.0.5/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8

と入力します。ちなみに私は100Mbitイーサネットしか対応していないRaspberry Pi 3Bに、USBのギガビットイーサプラグを刺して疑似ギガビット(内部的にUSB2.0のため、480Mbpsまでしか出ない)にしています。この場合eth1が追加されるので、そちらを設定します。
ちなみに、私はこれを使っています。AX88179チップが使われていて、Linuxでも刺すだけでしっかり認識して使えています

https://amzn.to/2HpNRAV

これも同じAX88179チップなので、同様に問題なく使用できました。

Amazon.co.jp: アイ・オー・データ ギガLANアダプター USB3.0対応 Nintendo Switch 動作確認済 1000BASE-TX対応 日本メーカー US3-HB3ETG : パソコン・周辺機器
Amazon.co.jp: アイ・オー・データ ギガLANアダプター USB3.0対応 Nintendo Switch 動作確認済 1000BASE-TX対応 日本メーカー US3-HB3ETG : パソコン・周辺機器

ちなみに、私はVPNサーバーとしてもラズパイを使用するので、ネットワークブリッジを作成してそちらにIPを割り当てます。詳細はこちらへ。

Raspberry-PiでVPNサーバーを作る【Buster対応】
公共の無線LANなどを使用するときに、セキュリティの問題とかいろいろありますよね。そんなときには、VPN(Virtual Private Network)というものを使います。仮想的な通信トンネルを構成したプライベートネットワークのことで、...

ユーザーアカウント作成

piアカウントは悪意のあるハッカーに狙われやすいため、別に操作用のユーザーを作成し、その後piユーザーをロックします。
※piユーザーを削除する という方法もインターネット上に見受けられますが、piユーザを削除してしまうと、所有者が居ないファイルが生まれてしまう可能性があり、問題になる可能性があるため推奨されていません。
※piユーザーの名前を変更するという手法もあります。こちらも有効な手段だと思います。
操作用のユーザー”ctrluser”を追加します。(ユーザー名はなんでも良いです。)

sudo useradd -G sudo -m ctrluser -s /bin/bash

このユーザーのパスワードを変更します。

sudo passwd ctrluser

さらに、piユーザーと同じグループに属させます。

sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio ctrluser

ちなみに、所属ユーザーは次のコマンドで調べることができます。

groups pi

ctrluserに切り替えます。

su ctrluser

piユーザのホームディレクトリの全ファイルをコピーします。

cp -r /home/pi/* /home/ctrluser

sudoersファイルを編集して、ctrluserでsudoを使えるようにします。

sudo visudo

これで開いた/etc/sudoersファイルの末尾に、

ctrluser ALL=(ALL) NOPASSWD: ALL

を追加します。これで、ctrluserの準備ができました。

piユーザーのロック

piユーザーに用はなくなったので、piユーザーをロックします。

sudo passwd --lock pi

piユーザーへのオートログインを無効化

sudo sed -i s/autologin-user=pi/#autologin-user=pi/ /etc/lightdm/lightdm.conf

参考サイト
https://584homes.com/it/raspberry-pi/raspberry-seq1802.html

SSHの認証方式を鍵認証に

SSHの認証方法は、デフォルトではパスワードになっていますが、もしPiをインターネットにつなぐつもりなら、鍵認証にすべきです。

ssh-keygen -t rsa

あとは流れに沿って設定します。

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

次に、パスワード認証を禁止します。

sudo sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/" /etc/ssh/sshd_config

参考サイト
https://www.techscore.com/blog/2016/03/14/%E3%81%82%E3%81%88%E3%81%A6%E3%81%84%E3%81%86%E3%81%BB%E3%81%A9%E3%81%A7%E3%82%82%E3%81%AA%E3%81%84sed%E5%85%A5%E9%96%80/

SSHGuardを導入する

SSHGuardは、設定回数以上ログイン試行に失敗したIPアドレスから、一定時間ログインを拒否することで攻撃から身を守るツールです。

sudo apt-get -y install sshguard

基本的にはこれでOKです。詳細な設定もできるようですが、私は特にしていません。

基盤のPowerLEDを点滅させる

Raspberry Piは、デフォルト状態で基板上のPWR LEDは点灯し続けますが、電源が入っているときには点滅動作するようにします。動作確認の面でも省エネの面でもやったほうがいいです。詳細は次の記事へ。

スピードテストスクリプトを入れておく

speedtest.netと呼ばれる、インターネットへの接続速度をテストできるサービスがあります。これを利用して、手軽にインターネットへの接続速度をテストできるようにしましょう。コマンドラインからspeedtest.netが起動できるPythonスクリプトである、「speedtest-cli」を利用させてもらいます。

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py && chmod +x speedtest-cli

これで、カレントディレクトリにspeedtest-cliがインストールされています。次に、常に筑波大学が設置した東京サーバーOPEN Project (via 20G SINET)へ接続するようにしたスクリプトを作成します。

vi speedtest-cli-tokyo
#!/bin/bash
speedtest="/home/ctrluser/speedtest-cli"

${speedtest} --list | grep "OPEN Project" | cut -d' ' -f1 | rev | cut -c 2- | rev | xargs ${speedtest} ${@} --server
chmod +x speedtest-cli-tokyo

これを実行すると、自動的に東京サーバーに対してスピードテストを行うことができるようになります。

参考サイト
https://qiita.com/CloudRemix/items/ad226ea4aa641427e682

Wake On Lanスクリプトを導入

SENGOKU氏のwol.cを使用します。 http://www.gcd.org/sengoku/docs/wol.c

cd && mkdir wol && cd wol
wget http://www.gcd.org/sengoku/docs/wol.c
gcc wol.c -o wol

Warningがいくつか出るかもしれませんが、これで基本的に準備完了です。

./wol 192.168.0.255 XX:XX:XX:XX:XX:XX

このように司令を出します。

参考サイト
http://zipsan.hatenablog.jp/entry/20140117/1389952909
https://qiita.com/kaishero/items/5e48f952c36dcaef27fb
https://tipszone.jp/20120516_wake-on-lan/

コメント

タイトルとURLをコピーしました