편집자 2019-09-12: 모든 사람의 의견을 경청했습니다. 나는 SSH 키 관리를 더 자세히 조사해야 한다고 결정했습니다. 연구 결과를 발표하겠습니다.
저는 RHEL-7.7을 호스트 하이퍼바이저로 실행하고 있습니다. 저는 각각 고유한 특정 기능(pfsense, 침입 방지 시스템, 보안 침입 이벤트 관리자)을 갖춘 여러 가상 머신을 실행하고 있습니다. BSD가 있는 pfsense 라우터를 제외한 모든 시스템은 Linux를 실행합니다.
가능하다면 각 VM 인스턴스마다 별도의 SSH 키를 만들고 싶습니다. 이것이 더 안전해 보일 수도 있지만 단점이 있나요? 1개의 공개 키를 모든 가상 머신과 공유해야 하나요, 아니면 별도의 키를 만들어야 하나요?
답변1
아니요. 하지만 서버가 너무 많으면 관리하기가 매우 어려워질 수 있습니다. 제가 일하는 회사에서는 350명의 직원을 혼자서 관리하고 있습니다. 일반적으로 개인당 하나의 키 쌍(반드시 사용자 이름일 필요는 없음)이 좋은 선택입니다. 해당 사람이 회사/기관을 떠나면 (예를 들어) 각 서버로 이동하여 ~/.ssh/authorized_keys 파일에서 해당 공개 키를 삭제하는 Ansible 플레이북을 작성할 수 있습니다.
답변2
올바른 상자에 올바른 키를 사용하도록 설정해야 .ssh/config
하지만 매일 수행할 필요는 없습니다.
키 중 하나가 손상된 경우 키 하나만 교체하면 됩니다.
그러나 반면에 키 중 하나가 손상되면 특히 비밀번호 없는 키를 사용하는 경우 키가 모두 손상될 가능성이 높습니다. 따라서 이로 인해 키를 변경하는 것이 어려울 수 있습니다.
따라서 보안 요구 사항에 따라 비밀번호가 없는 키와 좋은 비밀번호가 있는 몇 가지 키를 혼합하여 사용할 수 있습니다.
답변3
제가 드리는 첫 번째 질문은 "왜 이 일을 하시나요?"입니다. 다른 답변에서 지적했듯이 관리하기가 번거로울 수 있습니다.
즉, 여기에는 몇 가지 환경이 있습니다. 각 환경에는 여러 개의 가상 머신이 있습니다. 각 환경에는 자체 SSH 키 세트가 있습니다. 따라서 올바른 SSH 키가 있는 환경에만 액세스할 수 있습니다.
이것은 우리에게 의미가 있습니다. 우리는 각 가상 머신에 대해 개별 키를 제공하지 않습니다.
(나에게) 의미가 있는 것:
데이터베이스 서버는 키 쌍을 가질 수 있습니다. 모든 DBA/DBM 직원이 사용합니다.
웹 서버는 웹 관리자 등이 사용할 수 있는 (다른) 키 쌍을 가질 수 있습니다.
이는 시스템에서 "최소 권한"을 달성할 수 있는 좋은 방법입니다.
$0.02