Raspberry Pi OSのSSHログインを公開鍵認証に変更する手順

Raspberry Pi

約 6 分で読めます。



ここに来た皆さんならご存知の通り、通常SSHのログインはパスワード認証ですが、公開鍵認証にすると、秘密鍵を持っている人のみがログインできるため、なりすましを回避できます!
 秘密鍵を盗まれない限りは。

Raspberry Pi 4で公開鍵認証に変更しましたので、その手順を載せておきます。

鍵ペアの作成と設置

まずRaspberry PiにSSHでログインしたい端末にログインし、以下コマンドを実行します。
 自分はChromebookのLinuxで実施。

# 公開鍵と秘密鍵のペアを作成する
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yasu/.ssh/id_rsa): (そのままEnter)
Enter passphrase (empty for no passphrase): (パスフレーズを入力)
Enter same passphrase again: (もう一度同じパスフレーズを入力)
Your identification has been saved in /home/yasu/.ssh/id_rsa.
Your public key has been saved in /home/yasu/.ssh/id_rsa.pub.
The key fingerprint is:
(略)



パスフレーズはなくてもいいですが、あるとよりセキュリティが強固になります。
面倒でも設定しておきましょう。

お次は作った公開鍵の方をRaspberry Piに送ります。
ここではscpコマンドで送信。

# scpコマンドで公開鍵ファイルをRaspberry Piに送信
# scp <送信したいファイルパス> <ユーザー名>@<送信先ホスト名もしくはIPアドレス>:<送信先ファイルパス>
scp .ssh/id_rsa.pub yasu@192.168.1.123:/home/yasu/
yasu@192.168.1.123's password:
id_rsa.pub



送信できたか一応確認します。
Raspberry PiにSSHログインしてlsで確認。

$ ls -l
total 4
-rw-r--r-- 1 yasu yasu 394 Nov 11 13:39 id_rsa.pub



この公開鍵をopensshが認識できるようにします。

# 公開鍵を.sshに移動する
$ mv id_rsa.pub .ssh/
# authorized_keysに結合する
$ chmod 700 .ssh
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
# 結合したらもとの公開鍵ファイルは要らないので消す
$ rm .ssh/id_rsa.pub

opensshの設定変更

お次はopensshの設定ファイルを編集します。

# opensshの設定を編集する
$ sudo vim /etc/ssh/sshd_config
Port 12345 # ポートをデフォルトの22から変えておく
PermitRootLogin no # rootのログインを拒否
PermitEmptyPasswords no # 空パスワードを拒否

# opensshを再起動する
$ sudo service openssh restart



一応ここまでの設定変更により公開鍵認証でログインできるか確認しておきます。
パスフレーズを入れてログインできればOKです。

$ ssh yasu@192.168.1.123 -p 12345
Enter passphrase for key '/home/yasu/.ssh/id_rsa':



最後です。
パスワード認証を無効にします。
これをやってopensshが再起動するとパスワードによるログインができなくなります!
公開鍵認証未設定だと、ログインする方法がなくなりOS入れ直し確定なので、注意!

$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication no

# opensshを再起動
$ sudo service openssh restart



↑をやった後に、秘密鍵が配置されているPCでSSHログインできていれば成功です!

終わりに

いかがでしたか。

パスワードは漏れてしまう可能性が至る場面でありますが、秘密鍵はそう簡単に漏れないので、安全性が高まります!

↓のページには、Raspberry Pi 4をnextcloudサーバーとしてクラウドストレージとして動かすまでを各ステップ順を追って説明しています!
こちらも合わせてどうぞ!

Comments

タイトルとURLをコピーしました