24.2. sshd RHEL システムロールを使用した OpenSSH サーバーの設定
sshd
RHEL システムロールを使用して、複数の OpenSSH サーバーを設定できます。OpenSSH サーバーは、主に次の機能により、リモートユーザーにセキュアな通信環境を提供します。
- リモートクライアントからの SSH 接続の管理
- 認証情報の検証
- セキュアなデータ転送とコマンド実行
sshd
RHEL システムロールは、Identity Management RHEL システムロールなど、SSHD 設定を変更する他の RHEL システムロールと併用できます。設定が上書きされないように、sshd
RHEL システムロールが名前空間 (RHEL 8 以前のバージョン) またはドロップインディレクトリー (RHEL 9 以降) を使用することを確認してください。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo
権限がある。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル Playbook で指定されている設定は次のとおりです。
PasswordAuthentication: yes|no
-
ユーザー名とパスワードの組み合わせを使用するクライアントからの認証を OpenSSH サーバー (
sshd
) が受け入れるかどうかを制御します。 Match:
-
Match ブロックで、サブネット
192.0.2.0/24
からのパスワードを使用したroot
ユーザーログインだけを許可しています。
Playbook で使用されるロール変数と OpenSSH 設定オプションの詳細は、
/usr/share/ansible/roles/rhel-system-roles.sshd/README.md
ファイルと、コントロールノードのsshd_config(5)
man ページを参照してください。Playbook の構文を検証します。
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
SSH サーバーにログインします。
ssh <username>@<ssh_server>
$ ssh <username>@<ssh_server>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSH サーバー上の
sshd_config
ファイルの内容を確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 192.0.2.0/24
サブネットから root としてサーバーに接続できることを確認します。IP アドレスを確認します。
hostname -I
$ hostname -I 192.0.2.1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP アドレスが
192.0.2.1
-192.0.2.254
範囲にある場合は、サーバーに接続できます。root
でサーバーに接続します。ssh root@<ssh_server>
$ ssh root@<ssh_server>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow