最も簡単で安全にSSH公開鍵認証を設定する方法 【令和最新永久保存版 】

SSHの公開鍵認証って面倒だし何となく怖いと思っている方もそうでない方にも、今回はSSHの公開鍵認証を設定する最も簡単で安全な方法を手短に紹介します。

1. 鍵を作る#

以下のコマンドを実行。

ssh-keygen -t ed25519

パスやらパスワードを聞かれるので適当に答える。 某大国のアホが戦争始めたせいで悪化した 国際情勢も相まってサイバー攻撃が増加しているのでアルゴリズムには安全で高速なed25519を使用。

2. サーバーに送りつける#

以下のコマンドを実行。 ssh-copy-id -i [先程作成した鍵のパス + ".pub"] [サーバーのユーザー名]@[サーバーのアドレス]

[先ほど作成した鍵のパス + “.pub”]は何も指定していなければ~/.ssh/id_ed25519.pubになります。

3. 公開鍵認証を試す#

普通にSSH接続をしてログインパスワードを聞かれず鍵のパスワードを聞かれる画面が出れば成功。また鍵のパスワードは一回入力すればログアウトしない限り入力せずにSSH接続できるはずなのでそうなるか試す。

上手く行かない場合#

sshでリモートマシンにアクセスし、/etc/ssh/sshd_configを開く。
PubkeyAuthenticationyesになっているか確認する。修正したらsudo systemctl restart sshdでsshを再起動。

4. SSHを公開鍵認証限定にする#

SSHでリモートマシンにアクセスし、お好みのエディターで/etc/ssh/sshd_configを編集。 PasswordAuthentication という項目を探す。環境によってはコメントアウトされているので注意。 見つけたらその行を次のように書き換える。

PasswordAuthentication no

また次の項目も同じように設定することを推奨

# rootでのsshログインを拒否
PermitRootLogin no

最後にsudo systemctl restart sshdを実行し設定を反映。