##前提条件
モデル : Raspberry Pi Zero W
OS : Raspbian Stretch Lite
Version:March 2018
Release date:2018-03-13
Kernel version:4.9
##初期設定(ネットワーク接続前)
raspi-configを実行して、ネットワーク(Wi-fi)やインターフェース(ssh)の設定を実施します。
$ sudo raspi-config
2 Network Options
N2 Wi-fi # SSid/passphraseの入力
4 Localisation Options
I4 Change Wi-fi Country # JP
5 Interfacing Options
P2 SSH # sshを有効化(Enable)
##初期設定(ネットワーク接続後)
sshでログインし、raspi-configの続きを実施します。
この辺りは、詳しいサイトがいっぱいあるので省略。
参考サイト:
https://qiita.com/nakkaa/items/9871e0ebe0e8f9bb9c48
$ sudo raspi-config
##最低限のセキュリティ設定
raspi-configでWi-fi設定をしましたが、設定ファイルを見るとpassphraseが平文でした。これはよろしくないので暗号化します。
参考サイト:
https://qiita.com/tkyko13/items/1bc472ab777cc9375f06
$ cat /etc/wpa_supplicant/wpa_supplicant.conf # 設定ファイル確認
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SSid_name" # 設定したSSid
psk="passphrase" # 設定したpassphrase(平文)
}
$ sudo wpa_passphrase "SSid_name" "passphrase" # passphraseの暗号化
network={
ssid="SSid_name"
#psk="passphrase"
psk=777619be6c78..........(省略)
}
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf # 設定ファイル編集
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="SSid_name"
psk=777619be6c78..........(省略) # 変更
}
sshのポートをデフォルトの22から任意のポート番号(推奨ポート番号は参考サイト参照)に変更し、rootユーザのログインを無効にします。
参考サイト:
http://sawara.me/linux/890/
$ sudo vi /etc/ssh/sshd_config # 設定ファイル編集
#Port 22
↓
Port xxxxx # 任意のポート番号を設定
#PermitRootLogin prohibit-password
↓
PermitRootLogin no # rootユーザのログインを拒否
$ sudo service ssh restart # sshサービス再起動
設定を間違えると繋がらないので、設定後は接続確認しましょう(手順は省略)。
続いて、piユーザのデフォルトパスワードはバレバレなので、変更します(raspi-configで変更してもOK)。別ユーザ作って、piユーザは削除したほうが安全ですが、それは後回し。
$ sudo passwd pi # コマンド実行後、パスワードを2回入力
$ su - pi # 確認
$ exit
同様に、rootユーザのパスワードも設定します。
パスワードを設定しなければ、そもそもログインできないらしく、設定しないほうが安全らしい(2018/4/16追記)。
$ sudo passwd root # コマンド実行後、パスワードを2回入力
$ su - # 確認
$ exit
##新規ユーザ作成とpiユーザ無効化(2018/4/16追記)
参考サイト:
https://qiita.com/rshibasa/items/6cb37878a521a7aecb04
https://jyn.jp/raspberrypi-username-change/
必要に応じてですが、例としてnewpiユーザを追加し、piユーザを無効化します。
最初にnewpiユーザの追加です。
$ groups pi # piユーザが所属しているグループを確認
pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio
$ sudo adduser newpi
Adding user `newpi' ...
Adding new group `newpi' (1001) ...
Adding new user `newpi' (1001) with group `newpi' ...
Creating home directory `/home/newpi' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: # パスワード
Retype new UNIX password: # パスワード(2回目)
passwd: password updated successfully
Changing the user information for newpi
Enter the new value, or press ENTER for the default
Full Name []: # 空Enter
Room Number []: # 空Enter
Work Phone []: # 空Enter
Home Phone []: # 空Enter
Other []: # 空Enter
Is the information correct? [Y/n] Y
$ sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio newpi # 確認したグループの追加
$ sudo cat /etc/passwd # 設定ファイル確認(なんとなくpiと同じ)
$ sudo cat /etc/group # 設定ファイル確認(なんとなくpiと同じ)
$ su - newpi
Password: # パスワード
$ sudo whoami
[sudo] password for newpi: # パスワード
root
$ exit
次にpiユーザの無効化です。個人的にpiユーザを削除したり、変更したくなかったので、ログイン不可にしました。これで大丈夫だよね?
作業はnewpiユーザで実施してください。設定後、piユーザで接続できないことを確認してください。
$ sudo usermod -s /bin/false pi
[sudo] password for newpi: # パスワード
$ sudo vi /etc/shadow
pi:*:17637:0:99999:7::: # 暗号化されたパスワードの部分を*に置換
root:*:17603:0:99999:7::: # (参考)同様にrootにもパスワードを設定していたら*に置換
sudoコマンドで毎回のパスワード入力がうざい方は、sudoersでググってください。以下は非推奨。
$ sudo cp -p /etc/sudoers.d/010_pi-nopasswd /etc/sudoers.d/020_newpi-nopasswd
$ sudo vi /etc/sudoers.d/020_newpi-nopasswd
newpi ALL=(ALL) NOPASSWD: ALL
##ちょっとした設定(2018/4/10追記)
必要に応じて。。。
$ vi .bashrc # エイリアスの設定
alias ll='ls -l'
$ vi .vimrc # viの設定
set nocompatible
##ネットワークインターフェース名がいつもと違うとき(2018/4/16追記)
eth0がない?/boot/cmdline.txtにnet.ifnames=0を追記すればいいらしい。
参考サイト:
http://carol-net.co.jp/ikakashi/2017/08/24/raspbian-stretchで今まで通りのinterface名を使うには/
$ sudo vi /boot/cmdline.txt
~~~ net.ifnames=0 # 行末に追記
##各種アップデート
$ sudo apt-get update # パッケージリストの更新
$ sudo apt-get upgrade # インストールされてるパッケージの更新
$ sudo apt-get dist-upgrade # ディストリビューションの更新
$ sudo rpi-update # ファームウェアの更新
$ sudo reboot # 再起動
##各種インストール(2018/4/10追記)
必要に応じて。。。
$ sudo apt-get install -y vim
$ sudo apt-get install -y samba
##再起動
$ sudo reboot # 再起動