私のansible_hostにSSHキーペアがあり、それをターゲットホストの複数のユーザーの認証済みキーにコピーしたいと思います。
with-itemを設定しようとしていますが、.pubキーが無効なキーではないと文句を言うので、そうしようとしています。
- authorized_key:
user: "{{ item.user }}"
key: "{{ item.key }}"
with_items:
- { user: "user1", key: "~/.ssh/id_rsa.pub" }
- { user: "user2", key: "~/.ssh/id_rsa.pub" }
間違い:"msg": "invalid key specified: ~/.ssh/id_rsa.pub"}
答え1
これは、キーをキーフィールドに文字列として挿入するためです。
使用する必要がありますファイル検索プラグイン。
あなたの場合:
- authorized_key:
user: "{{ item.user }}"
key: "{{ item.key }}"
with_items:
- { user: "user1", key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" }
- { user: "user2", key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" }
答え2
複数のユーザーにキーをコピーする必要がある場合は、次のことができます。
- authorized_key:
user: "{{ item.user }}"
key: "{{ lookup('file', lookup('env','HOME') + '/.ssh/id_rsa.pub') }}"
with_items:
- { user: "user1" }
- { user: "user2" }