まんま!の備忘録

ソフトウェア・ファームウェア・ハードウェア関連の備忘録

Raspberry PiのSSH鍵認証設定

Terminalを開き、鍵ファイルを生成する。
(オプションの値は適宜変更してください。)

ssh-keygen -t rsa -b 2048 -f ~/.ssh/taogya-pi0_rsa -N taogya

Raspberry PiSSH接続し、以下の通り実施する。

# ### SSH接続
ssh taogya@taogya-pi0.local

# ### 公開鍵の設定
taogya@taogya-pi0:~ $ mkdir .ssh && touch .ssh/authorized_keys
taogya@taogya-pi0:~ $ vi .ssh/authorized_keys
→ 生成した公開鍵taogya-pi0_rsa.pubの中身をコピペ

# ### SSH接続の設定変更
# root にて作業
taogya@taogya-pi0:~ $ sudo su -
# バックアップ
root@taogya-pi0:~ $ cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
# config設定 (Portの値は適宜変更してください。)
root@taogya-pi0:~ $ mkdir -p /root/configs/ssh/sshd_config.d
root@taogya-pi0:~ $ echo -n 'Port 62002
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
' > /root/configs/ssh/sshd_config.d/sshd_config.conf
# パーミッション設定
root@taogya-pi0:~ $ chmod -R 600 /root/configs
# シンボリックリンクの作成
root@taogya-pi0:~ $ ln -s /root/configs/ssh/sshd_config.d/sshd_config.conf /etc/ssh/sshd_config.d/sshd_config.conf
# サービス再起動と切断
root@taogya-pi0:~ $ systemctl restart sshd
root@taogya-pi0:~ $ exit
taogya@taogya-pi0:~ $ exit

PCのterminalにて接続できないことを確認

ssh taogya@taogya-pi0.local
→ ssh: connect to host taogya-pi0.local port 22: Connection refused

Configファイルを編集

ls ~/.ssh || mkdir ~/.ssh
echo -n '

Host taogya-pi0
  HostName taogya-pi0.local
  User taogya
  Port 62002
  IdentityFile ~/.ssh/taogya-pi0_rsa
  IdentitiesOnly yes' >> ~/.ssh/config

PCのterminalにて接続できることを確認

ssh taogya-pi0
→鍵生成した時に設定したパスワード(-Nオプション)を入力

# 接続成功
taogya@taogya-pi0:~ $