Ansible 허브에서 개인의 SSH 액세스를 관리하기 위한 전략

Ansible 허브에서 개인의 SSH 액세스를 관리하기 위한 전략

우리 팀에는 여러 노드를 관리하는 Ansible 허브가 있습니다. 이를 위해 허브에 ssh를 연결하고 공유된 "ansible" 사용자에게 sudo를 실행합니다. 이 사용자는 모든 노드의 Authorized_keys 파일에 있는 SSH 키 쌍을 가지고 있습니다.

이는 작동하지만 모든 사람이 항상 모든 노드에 액세스할 수 있음을 의미합니다.

내가 원하는 것은 사용자가 특정 노드에만 액세스할 수 있도록 제한할 수 있는 접근 방식입니다. 필요에 따라 각 노드의 Authorized_keys에서 개인의 키를 추가/제거할 수 있지만 관리하기가 너무 많아 보입니다. 다양한 노드에 대해 사용자를 신속하게 승인/승인 취소할 수 있도록 관리하기 쉬운 것을 원합니다.

이런 전략을 가지고 있는 사람이 있나요? 이용하려고 생각하고 있었는데서명된 SSH 키임시 액세스 권한을 부여했지만 실제로 탐색하지는 않았습니다.

답변1

Ansible이 있으므로 빠른 해결책이 있습니다. 이를 위해서는 Ansible을 사용하십시오...

허브의 모든 사용자가 공개 키를 가지고 있는 경우 해당 공개 키와 ansible 사용자를 사용하여 user-public-key를 대상 호스트에 게시할 수 있습니다.

컴퓨터별로 액세스를 제한하려면 호스트 또는 호스트 그룹별로 사용자 목록을 구성하고 해당 그룹의 해당 호스트에만 해당 공개 키를 채울 수 있습니다. 또한 (pubkey를 추가하는 대신) 맵과 템플릿을 사용하거나 네거티브 목록을 작성하여 대상 호스트에서 사용자를 제거하는 것도 쉽습니다.

따라서 사용자는 Ansible 사용자 없이 허브에서 대상 머신으로 직접 이동할 수 있습니다.

관련 정보