Ansible-MFA가있는 요새를 통한 액세스


9

현재 환경에서는 모든 Linux 서버가 MFA가 활성화 된 요새 호스트를 통해서만 액세스 할 수 있습니다.

나는 요새를 통해 서버와 성공적으로 대화 할 수있게되었습니다. 유일한 문제는 각 호스트의 요새에 새로운 연결을 설정한다는 것입니다. 즉, 서버만큼 많은 MFA 키를 입력해야합니다. 나쁜 시간. :(

ssh 구성에서 다음과 같은 것들을 엉망으로 만들어서 멀티플렉싱을 시도했습니다.

Host bastion
  ControlMaster auto
  ControlPath ~/.ssh/ansible-%r@%h:%p
  ControlPersist 5m

불행히도 그렇게하지 않는 것 같습니다. 누구든지 내가 중지하는 방법에 대한 팁을 얻었습니다. Ansible은 만지는 모든 호스트에 대해 내 요새 호스트를 통해 연결을 다시 설정합니까?

감사!


아마도 이미 발생했지만 ... 요새 호스트가 단순히 패킷 전달이 아닌 정기적 인 로그인 액세스를 허용하고 가능한 구성에 많은 양의 파일이 포함되어 있지 않은 경우 요새에서 직접 구성을 실행 해 볼 수 있습니다. .
Parthian Shot

요새 호스트가 아닌 반드시 동일한 환경에있는 호스트 일 수 있습니다. 전용 Ansible 제어 호스트가 있습니다. 이렇게하면 이상한 Ansible 구성 또는 지원되지 않는 Ansible 버전이 실행되지 않습니다. 또한 이것은 플레이 북 속도를 크게 향상시킵니다.
udondan

(나는 MFA 무엇을 알고하지 않습니다) 활성화 되세요 ForwardAgent워크 스테이션 (안 요새)의 ssh 설정에서
밥 티스트 밀레 - 마티아스

답변:


1

방금 요새 호스트와 함께 Ansible을 실행하는 방법에 대한 블로그 게시물을 우연히 발견했습니다 .

분명히 요새 호스트를 제어 호스트에 추가해야합니다 ssh_config.

Host 10.10.10.*
  ProxyCommand ssh -W %h:%p bastion.example.com
  IdentityFile ~/.ssh/private_key.pem

Host bastion.example.com
  Hostname bastion.example.com
  User ubuntu
  IdentityFile ~/.ssh/private_key.pem
  ControlMaster auto
  ControlPath ~/.ssh/ansible-%r@%h:%p
  ControlPersist 5m

편집 ssh_args에에서 ansible.cfg:

[ssh_connection]
ssh_args = -F ./ssh.cfg -o ControlMaster=auto -o ControlPersist=30m control_path = ~/.ssh/ansible-%%r@%%h:%%p

bastion구성 의 일부를 포함해야합니다. 내용 MFA부분이 일부 사용자 GitHub의 발행 이 Ansible에서 SSH 세션을 사용할 수 있음을 주장 Ansible의 외측을 열었다.

2FA가있는 호스트에 대한 초기 연결을 연 다음 다른 창에서 다음과 같이 실행합니다.

ansible-playbook thing.yml --ssh-common-args='-o ControlPath=~/.ssh/connshare'

요새 호스트 설정이 없지만이 전략은 시도해 볼 가치가 있다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.