こんにちは、お読みいただきありがとうございます。 ケン(@gootablog)です。
先日「Raspberry Pi Zero WH」を購入したという記事を書きました。
-> 初めてRaspberry Pi Zero WHを購入。動かすのに必要なのはこれ
よしRaspberry Piは買った。次は何をすればいいかというとセットアップです。
今回はセットアップの方法を解説しますが、デバイスがZero WHということもありSSH接続のみで操作するやり方になります。ぜひセットアップの参考にしてみてください。
Raspberry Pi Zeroじゃなくてもほとんど設定は同じだと思うので他のデバイスの方もぜひ参考にしてみてください。
目次
バージョンとか
PC: Mac(v 10.14.6)
Raspbian: Raspbian Buster Lite (v July 2019)
SDカードをフォーマット
SDメモリカードフォーマッター – SD Association
このサイトからフォーマッターをインストール。
PCにSDカードを指してクイックフォーマットをする。
os インストール
まずPCにRaspbianをインストール。今回はGUIを使用しないのでRaspbian Buster Lite
を選択。
PCにインストールしたら、フォーマットされたSDカードに書き込む。balenaEtcher
というGUIツールを使ってSDに書き込んだほうがいいよとの記述があったのでそれを使う。
Installing operating system images – Raspberry Pi Documentation
これを使って書き込む。難しい操作などは必要ないので簡単に書き込めます。
SSHをオン
インストールができたらSDカード内にSSHを有効にするファイルを作成する。
boot
直下にssh
というファイルを作成するだけ。
$ cd /Volumes/boot
$ touch ssh
Wi-Fi設定
Raspberry PiをWi-Fiにつなぐための設定をする。
boot
直下にwpa_supplicant.conf
というファイルを作成してSSIDの設定を書き込む。
$ cd /Volumes/boot
$ vim wpa_supplicant.conf
以下のテキストを書き込む。
※ここで注意したいのがRaspberry PiをWi-Fiに接続するには2.4GHz帯域のアクセスポイントじゃないとダメ
# wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
ssid="接続したいSSID"
psk="SSIDのパスワード"
}
Raspberry Pi を起動して接続
SDカードをRaspberry Piに差して、microUSBとつなぐと起動する。
このタイミングでssh接続をするとRaspberry Piの中に入ることができる。
$ ssh pi@raspberrypi.local
# password: raspberry
パッケージ、OSの更新
接続はできたのでここからは細かい設定をしていく。
パッケージの更新。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
ファームウェアの更新
$ sudo apt-get install rpi-update
$ sudo rpi-update
$ sudo reboot
raspberri pi の設定
raspi-configで基本設定
このコマンドを実行。
$ sudo raspi-config
選択肢が出てくるのでまずLocalisation Options
を選択して
- locale -> en_US.UTF-8 UTF-8
- timezone -> Asia Tokyo
- wifi country -> JP
に変更。
Change User Password
を選択してパスワードを変更。
Network Options
を選択してホスト名を変更(変更したホスト名の適用はsudo reboot
実行。
日本語フォントのインストール
日本語使わないけど念の為インストール。
$ sudo apt-get install fonts-ipaexfont
vim インストール
$ sudo apt-get install vim
ユーザー設定
rootのパスワード設定。
$ sudo passwd root
ユーザー追加
※ユーザー設定はサーバー運用しない限りやらなくてもいいかも(20190916追記)
$ sudo adduser [username]
piユーザーをsudoグループから外す。
$ sudo gpasswd -d pi sudo
piユーザー削除
$ sudo deluser -remove-home pi
公開鍵認証で接続できるようにする
@local
鍵作成。
# local
ssh-keygen -t rsa
ssh config
ファイル作成。
# config
Host raspizerowh
HostName raspberrypi-zerowh.local
User pi
Port 22
IdentityFile ~/.ssh/private/raspberrypi/zerowh_id_rsa
IdentitiesOnly yes
@raspberrypi
新規作成したユーザーのhomeディレクトリで.ssh
ディレクトリを作成。
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ vim authorized_keys #localで作成した秘密鍵をペースト
$ chmod 600 authorized_keys
sshd_config
の修正。
$ sudo vim /etc/ssh/sshd_config
3箇所を変更する。これで秘密鍵、接続情報を知っているユーザーと同じWi-FiつないでいるPCでしか接続できないようになる。
# sshd_config
# rootログインの禁止
#PermitRootLogin prohibit-password
↓
PermitRootLogin no
#authorizekeysfileの指定
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
↓
AuthorizedKeysFile .ssh/authorized_keys
#passwordログインを禁止
#PasswordAuthentication yes
↓
PasswordAuthentication no
sshd
再起動。
$ service sshd restart
```
接続できるか確認(設定が間違っていると締め出されるので、ログイン状態のターミナルの他に新しいウィンドウを開いてログインを試す)
[[toc]]
## zsh install
install&デフォルトのシェル設定。
```shell
$ sudo apt-get install zsh
$ which zsh
# -> /usr/bin/zsh
$ chsh
# パスワード入力して /usr/bin/zshをペースト。
git install
$ sudo apt-get install git
自分のdotfilesをインストールして設定完了
後は操作しやすいようにカスタマイズをするなり、自分のdotfilesをcloneして設定すればOK。
おわりに
これでセットアップは完了です。ここからは自分のやりたいようにいじっていきましょう!