내 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" }