Raspbian on RaspberryPiのヘッドレス環境構築
よくあるやつですが、だらだらと備忘録です。
自宅サーバとして眠っていたRaspberryPiを運用すべく、環境構築しました。
ラズパイに使うキーボードも無ければモニタもありません。
前提条件
macOS Mojave
RaspberryPi Model B
イーサネットケーブルをモデムに直挿し
Download Raspbian for Raspberry Pi(RASPBIAN STRETCH LITEを選択)
手順
microSD準備
いろいろ接続&電源投入
初期設定
初期設定
ssh pi@raspberrypi.local
passwordは `raspberry` でログイン。
更新作業
sudo rpi-update
sudo apt update
sudo apt upgrade
# neovimかvimが入るとやりやすいかも
sudo apt install vim
sudo reboot
ユーザ作成、sudo権限付与&公開鍵認証、sshポート変更
とりあえず、思いつく限りssh周りを硬くする
sudoできるユーザを新たに作成、そいつをデフォルトユーザにします。
公開鍵あるからパスワード設定しなくてええやろ!と思っていたが、パスワードも聞かれた。。。
sudo hostname orehost sudo adduser oreuser sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input,spi,gpio oreuser sudo vi /etc/ssh/sshd_config # SSHポート番号 Port 44422 PermitRootLogin no
ホストから新しいユーザでログインを確認する
sudo /etc/init.d/ssh restart ssh -p 44422 oreuser@orehost.local
できたら、~/.ssh/configに記載
Host rasp HostName orehost.local User oreuser Port 44422 ServerAliveInterval 30
ホストで鍵ペアを作成し、SCPで転送する
# 対話シェルは適宜答える ssh-keygen -b 4096 -t rsa chmod 600 ~/.ssh/id_rsa scp ~/.ssh/id_rsa.pub rasp:~/id_rsa.pub sudo vi /etc/ssh/sshd_config # ルートログイン変更 PermitRootLogin no PubkeyAuthentication yes PasswordAuthentication no sudo /etc/init.d/ssh restart # ホストからログイン ssh rasp mkdir .ssh mv ~/id_rsa.pub ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
piをログインできないように設定
ec2-userとか元々のユーザって危険
公開鍵を要求するようにしたので、実はもうログインできなくなってる
sudo userdel -r pi sudo vi /etc/systemd/system/autologin@.service #↓ piをoreuserに変更 ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM # 再起動 sudo reboot
rootにパスワード設定&直ログイン制限
rootログインできないのに、このパスワードって何に使うんだ?
sudo passwd root
雑記: ラズパイを移動させたい時
普通にシャットダウンコマンドから、しばらくして電源抜けば無事に行けました。
雑感
これで、最低限使えるサーバになったのではないでしょうか。