CentOSで鍵認証でログインをしてみる

今回はCentOSでの鍵認証を行ってみます

公開鍵認証とは、サーバーへのログイン時に認証を行う仕組みであり、ユーザー名とパスワードを使用した認証と比べ、よりセキュリティや柔軟性が高いのが特徴です。 いっぽうで、若干設定が難しいという欠点もあります。 パスワードを使った認証では、ユーザー名とパスワードという2つの情報だけで認証を行います。

鍵認証を設定することにより、都度パスワードの入力をしなくてよくなります。また、Gitなどと鍵を合わせておけばCentOSからGitへのアクセスもパスワードが無しで出来るようになります

パスワード認証をオフにしておくことによりセキュリティ向上にも繋がります

鍵認証

  • 鍵を作成します
ssh-keygen -t rsa -b 4096

ls -l .ssh/
id_rsa
id_rsa.pub

id_rsa ・・・・秘密鍵です。この鍵を使いアクセスを行います

id_rsa.pub・・・・公開鍵です。秘密鍵を使いアクセスしたいサーバに事前に登録をします

  • 公開鍵のセット
    • .ssh/authorized_keysに公開鍵を記載します
    • 他のユーザから見えないように権限を変更します
mv .ssh/id_rsa.pub .ssh/authorized_keys
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

これで秘密鍵を使ってログインが出来る状態になりました

パスワード認証を切る

せっかくなのでパスワードでの認証を出来なくします

grep PasswordAuthentication /etc/ssh/ssh_config
#   PasswordAuthentication yes
↓
PasswordAuthentication noに変更します

設定を反映させるため、sshdを再起動します

sudo systemctl restart sshd.service
sudo systemctl status sshd.service
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2022-03-20 14:29:44 JST; 6s ago
     Docs: man:sshd(8)
           man:sshd_config(5)
 Main PID: 9293 (sshd)
   CGroup: /system.slice/sshd.service
           mq9293 /usr/sbin/sshd -D

 3月 20 14:29:44 localhost systemd[1]: Starting OpenSSH server daemon...
 3月 20 14:29:44 localhost sshd[9293]: Server listening on 0.0.0.0 port 22.
 3月 20 14:29:44 localhost sshd[9293]: Server listening on :: port 22.
 3月 20 14:29:44 localhost systemd[1]: Started OpenSSH server daemon.

これで完了です

コメント

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