사용자를 생성하고 기존 RSA 공개 키를 추가 할 수있는 간단한 작업을 프로그래밍 중입니다. 이것은 내가 쓴 코드 :신뢰할 수있는 사용자 모듈을 사용하여 authorized_keys 파일에 기존 공개 키를 추가하는 방법은 무엇입니까?
- name: SYSTEM - Create test user
tags: system-user
user:
name: "{{ test_user }}"
state: present
createhome: yes
- name: SYSTEM - Add existing pub key for test user
tags: system-user
copy:
content: "{{ test_user_pubkey }}"
dest: "/tmp/test_user_id_rsa.pub"
force: no
owner: "{{ test_user }}"
group: "{{ test_user }}"
mode: 0600
- name: SYSTEM - Set authorized key for test_user took from file
tags: system-user
authorized_key:
user: "{{ test_user }}"
state: present
key: "{{ lookup('file', '/tmp/test_user_id_rsa.pub') }}"
내가 쓴 코드는 우아하지 않고 내가 최선의 선택을 만들기 위해 사용자 생성 블록과 기존 RSA 공개 키를 추가 할 것이라고 생각까지 가득 authorized_keys
파일.
authorized_keys
의 파일에의 기존의 술집 키의 값을 에코 할 수있는 가능성을 포함하지 않는
Ansible user module하지만 ssh_key_file 방법을 읽은
(최종 목적은 원격 사용자와 개인을 사용하여 ssh를 연결 할 수있다 키).
ssh_key_file = 선택적으로 SSH 키 파일 이름을 지정하십시오. 상대 파일 이름이 인 경우 사용자의 집 디렉토리와 관련됩니다.
사용자 모듈 내에서이 프로세스를 관리 할 수 있습니까?
그래서 일부 코드를 작성하고 StackOverflow에 게시하기 전에 시도하지 않으셨습니까? 실행시 실패합니다. '/ tmp/test_user_id_rsa.pub'가 존재하지 않는다고 말할 것입니다 (로컬 컴퓨터에 혼란이 없다면 말입니다). – techraf
오류 메시지가 나타나면 테스트를 진행하는 동안 오류 메시지가 표시되지만 게시물에서 언급하는 것을 잊어 버렸습니다. 나는 그것을 명확히하기 위해 편집 할 것이고, 나의 미래 지위에 대해 더 조심할 것이다. 또한 복사가 실행 된 후에도 파일이 존재하기 때문에 코드를 가져 오는 이유가 무엇인지 확신 할 수 없습니다. –