公開鍵を使ったSSH認証を導入しよう!
サーバをインターネット上に公開すると、不正アクセスを試みようとするアクセスの多さにビックリします。
公開鍵認証を導入し、サーバへアクセスできる端末を限定することで、セキュリティを高めることにします。
公開鍵認証を行うことで、パスワードによる認証が不要となるため、接続も楽になりますね!
ここでは、SSHへ公開鍵認証を導入する手順を掲載しています。
[広告]
Tera Termを使ったRSA鍵認証の導入
今回はTera Termを使ってRSA鍵の作成し、サーバへ転送・設定を行います。
尚、暗号化方式にRSAを使用する場合、鍵の作成にはTera Term 5以上が必要となります。
Tera Term 4以前のバージョンで作成したRSA鍵を使用すると、"signature algorithm ssh-rsa not in PubkeyAcceptedAlgorithms"というエラーとともに認証に失敗します。ご注意ください。
他の暗号化方式は今のところ制限がないようなので、RSA以外の形式を選択しても構いません。
Tera Termでの鍵の作成
鍵の転送
各ユーザーごとに鍵の作成が必要となります。
今回は管理ユーザである "root" に公開鍵認証を設定します。
公開鍵の転送が終わったら配置を行います。
公開鍵の設置場所は決まっていて、ホームディレクトリ直下に".ssh"というディレクトリを作成し、"authorized_keys"というファイル名で保存します。
[root@pve8 ~]# mv id_rsa.pub .ssh/authorized_keys
[root@pve8 ~]# chmod 600 .ssh/authorized_keys
[root@pve8 ~]# systemctl restart sshd
[root@pve8 ~]# exit
接続確認
RSA鍵を使った接続を行ってみましょう。
SSHの設定
公開鍵での認証がうまくいったら、サーバ側の認証設定を変更します。
なぜならば、今のままではパスワードによる認証も行ってしまうからです。
公開鍵を使った認証のみを許可し、パスワードによる認証は無効にします。
認証方法の変更
[root@pve8 ~]# sed -i.bak 's/#PasswordAuthentication no/PasswordAuthentication no/g' /etc/ssh/sshd_config
[root@pve8 ~]# systemctl restart sshd
[root@pve8 ~]# exit
以下2点を確認し、問題がなければ設定完了です。
- 鍵認証によるログインができる
- パスワードによる認証ができない
尚、クライアント側に保存されている秘密鍵はどこかわかりやすい場所へ、大切に保存しておきましょう。
これが行方不明になると、サーバへSSHで接続ができなくなります。
今回新しく登場したコマンド
- mv
- exit
[広告]
トップページ
Proxmox 8
◎仮想マシン(VM)の管理
◎コンテナ(CT)の管理
○インストール準備
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○クラスタ/Ceph
○その他