このページでは、ラズベリーパイ(ラズパイ)の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カード。安さ重視でのセレクトです。デザインもおしゃれです。
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でも刺すだけでしっかり認識して使えています。
これも同じAX88179チップなので、同様に問題なく使用できました。
ちなみに、私はVPNサーバーとしてもラズパイを使用するので、ネットワークブリッジを作成してそちらにIPを割り当てます。詳細はこちらへ。
ユーザーアカウント作成
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/
コメント