【RHEL】SSHのパスワード認証を有効化する方法(PasswordAuthentication yes)【AWS】

EC2アイキャッチ画像

RHEL環境では、セキュリティの観点から SSHログインは鍵認証のみが許可されていることがあります。
検証環境などで パスワード認証を有効化したい場合は、sshd_config の設定を変更します。
この記事では RHELでSSHのパスワード認証を有効化する手順を解説します。

前提

以下の環境を想定しています。

  • RHEL / Rocky / AlmaLinux などのRHEL系Linux
  • root権限またはsudo権限あり
  • SSHサービス(sshd)が稼働している

テストユーザーを作成

まずはログイン確認用のユーザーを作成します。

sudo useradd testuser

パスワードを設定します。

sudo passwd testuser

sshd_configを編集

SSHのパスワード認証設定を変更します。

sudo vi /etc/ssh/sshd_config

以下の設定を追加します。
PasswordAuthentication yesがコメントアウトされている場合は#を削除

PasswordAuthentication yes
password設定変更

sshd_config.dの設定も確認

最近のRHELでは
/etc/ssh/sshd_config.d/ 配下の設定が 優先されることがあります。

そのため、こちらの設定も変更します。

sudo vi /etc/ssh/sshd_config.d/50-cloud-init.conf

設定を以下のように変更します。

PasswordAuthentication yes

※ここが no のままだとパスワード認証が無効になります。

SSHサービスを再起動

設定変更後は sshd を再起動します。

sudo systemctl restart sshd

SSHポートの確認

SSHサービスが正常に起動しているか確認します。

ss -nlt

SSHログインテスト

作成したユーザーでログインできるか確認します。

ssh testuser@<サーバIP>

まとめ

RHELでSSHのパスワード認証を有効化する手順は以下です。

  • ユーザー作成
  • /etc/ssh/sshd_config を変更
  • /etc/ssh/sshd_config.d/ の設定も確認
  • sshd を再起動
  • SSHログインテスト

特に RHEL8以降では sshd_config.d 配下の設定が影響する点に注意してください。