이 Ansible이 들어 나는 갤럭시 역할을 만들어 : https://galaxy.ansible.com/udondan/ssh-reconnect/
사용법 : 즉시 새 그룹 필요한 경우
- name: add user to docker group
user: name=USERNAME groups=docker append=yes
sudo: true
notify:
- Kill all ssh connections
당신이 모듈을 직접 호출 할 수 있습니다 :
- name: Kill own ssh connections
ssh-reconnect: all=True
또는 필요한 경우 처리기를 발사하십시오.
당신은 ssh를 제어 소켓을 사용하십니까 : Ansible < 1.9에 대한 23,516,
이 대답을 참조? ssh config에서 ControlMaster
이 활성화되어 있다면이 동작을 설명 할 수 있습니다. 모든 작업에 대해 Anecess는 다시 연결되므로 사용자는 다음 작업에 할당 된 올바른 역할을 가져야합니다. 비록 당신이 ssh 세션 공유를 사용할 때 Anabilities는 물론 열린 ssh 연결을 다시 사용하기 때문에 다시 로그인하지 않을 것입니다.
당신은 당신의 ansible.cfg
에서 세션 공유를 비활성화 할 수 있습니다 : 세션 공유 이후
[ssh_connection]
ssh_args= -S "none"
가 Ansible가 재생 속도를 좋은 일, 대안은있다. 현재 사용자의 모든 ssh 연결을 종료하는 작업을 실행하십시오.
- name: add user to docker group
user: name=USERNAME groups=docker append=yes
sudo: true
register: user_task
- name: Kill open ssh sessions
shell: "ps -ef | grep sshd | grep `whoami` | awk '{print \"kill -9\", $2}' | sh"
when: user_task | changed
failed_when: false
이렇게하면 다음 작업에서 다시 로그인 할 수 있습니다.
잘못된 설명이없는 한 그룹은'user'가 아닌'group' 모듈을 사용하여 만듭니다. – Mxx
그는 아마도 "사용자를 그룹에 추가"라고 말하려고했습니다. docker를 설치하면 이미 그룹이 생성되었을 것입니다. (덧붙여 말하자면 똑같은이 문제에 직면하고있다.) – Gigablah
정확히 이것이 내 문제이다. 그룹은 이미 존재합니다. – Mark