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