鍵を生成する(Mac)
ssh-keygen -t ed25519 -N "" -C "" -f ~/.ssh/raspberrypi
生成された raspberrypi.pub の中身をコピーしておく。
従来のパスワード形式で RaspberryPi に SSH 接続する。
鍵認証の設定 (RaspberryPi)
cd
mkdir .ssh
echo コピーした情報 > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
鍵認証で SSH 接続できるか試してみる (Mac)
~/.ssh/config に追記
Host pi
HostName 192.168.xx.xx
User pi
IdentityFile ~/.ssh/raspberrypi
SSH 接続する
ssh pi
ログインできればOK
パスワードログインをできなくする (RaspberryPi)
設定ファイルを編集する
sudo vi /etc/ssh/sshd_config
# 以下の箇所を変更
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
↓
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
PasswordAuthentication no
#PermitEmptyPasswords no
サービスを再起動して反映させる
sudo systemctl restart ssh
動作確認 (Mac)
現在接続中のものとは別のターミナルでパスワードログインできないこと、鍵認証でログインできることを確認する。
設定にミスがあった場合に修正する手段がなくなってしまう可能性があるので、繋がっているものはそのままにしておく。
# OK
ssh pi
# NG
ssh pi@192.168.xx.xx
Permission denied (publickey).
これで接続が楽かつセキュアになった。