3.9. Ansible のパスワードなし SSH の有効化
Ansible 管理ノードで SSH キーペアを生成し、ストレージクラスター内の各ノードに公開キーを配布して、Ansible がパスワードの入力を求められることなくノードにアクセスできるようにします。
前提条件
- Ansible 管理ノードへのアクセス
- ストレージクラスター内のすべてのノードへの sudo アクセスのある Ansible ユーザー
- Red Hat Enterprise Linux 9 の場合、root ユーザーとしてログインするには、Red Hat Enterprise Linux 9 で root ユーザーとして SSH ログインを有効にする を参照してください。
手順
SSH キーペアを生成し、デフォルトのファイル名を受け入れ、パスフレーズを空のままにします。
[ceph-admin@admin ~]$ ssh-keygen
公開鍵をストレージクラスター内のすべてのノードにコピーします。
ssh-copy-id USER_NAME@HOST_NAME
USER_NAME は、Ansible ユーザーの新しいユーザー名に置き換えます。HOST_NAME は、Ceph ノードのホスト名に置き換えます。
例
[ceph-admin@admin ~]$ ssh-copy-id ceph-admin@host01
ユーザーの SSH の
config
ファイルを作成します。[ceph-admin@admin ~]$ touch ~/.ssh/config
config
ファイルを編集するために開きます。ストレージクラスター内の各ノードのHostname
およびUser
オプションの値を設定します。Host host01 Hostname HOST_NAME User USER_NAME Host host02 Hostname HOST_NAME User USER_NAME ...
HOST_NAME は、Ceph ノードのホスト名に置き換えます。USER_NAME は、Ansible ユーザーの新しいユーザー名に置き換えます。
例
Host host01 Hostname host01 User ceph-admin Host host02 Hostname host02 User ceph-admin Host host03 Hostname host03 User ceph-admin
重要~/.ssh/config
ファイルを設定すると、ansible-playbook
コマンドを実行するたびに-u USER_NAME
オプションを指定する必要がありません。~/.ssh/config
ファイルに正しいファイルパーミッションを設定します。[ceph-admin@admin ~]$ chmod 600 ~/.ssh/config
関連情報
-
ssh_config(5)
の man ページ。 - Using secure communications between two systems with OpenSSH を参照してください。