今回は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.
これで完了です
コメント