저는 다섯 대의 Linux 머신을 갖고 있으며 각 머신에는 동일한 이름의 서비스 계정이 있습니다. 이들은 모두 192.168.1.{1,2,3,4,5}
서로 서브넷 연결( )을 갖고 있습니다.
/etc/hosts
올바른 IP를 확인하고 이를 올바른 호스트 이름에 추가하는 스크립트가 있습니다 . 각 시스템은 ssh
다른 모든 시스템에 대해 비밀번호 없는(15개의 중요한 경로)을 시작할 수 있어야 합니다 . 이 모든 것이 잘 작동하지만 새 시스템을 추가하거나 시스템을 제거하는 경우 관리 작업이 많이 필요합니다. 내 질문은 이것입니다:
완전히 연결된 컴퓨터의 네트워크가 주어지면 각 컴퓨터의 연결을 동시에 어떻게 관리합니까? 예를 들어 수동으로 키를 추가하고 호스트를 편집할 필요 없이 모든 시스템이 서로 통신할 수 있도록 합니다.
답변1
간단히 말해서:
호스트 키
호스트 키에 대한 CA 키를 만듭니다.
ssh-keygen -f host_ca
모든 호스트 키에 서명하고 서버에 복사합니다.
ssh-keygen -s host_ca -I host_foo -h -n foo.bar.com -V +52w /etc/ssh/ssh_host_rsa_key.pub
/etc/ssh/sshd_config
호스트 키 외에 인증서를 광고하도록 서버( )를 구성합니다 .HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
클라이언트(
/etc/ssh/ssh_known_hosts
)(서로 통신하기 위해 검색하는 경우 서버도 구성)를 구성합니다.@cert-authority *.bar.com ssh-rsa AAAAB3[...]== Comment
확인 키:
사용자에 대한 CA 키를 만듭니다.
ssh-keygen -f user_ca
이 CA("/etc/ssh/sshd_config"에도 있음)에서 서명한 키를 허용하도록 서버를 구성합니다.
TrustedUserCAKeys /etc/ssh/user_ca.pub
인증 키에 서명합니다.
ssh-keygen -s user_ca -I user_thomas -n thomas,thomas2 -V +52w /path/to/id_rsa.pub
더 많은 메모는 다음에서 찾을 수 있습니다.하베츠아니면 매뉴얼 페이지에서sshd
. 귀하의 모든 질문에 답해 주어야 하지만, 그렇지 않은 경우에는 추가 질문을 하시기 바랍니다.