호스트 키

호스트 키

저는 다섯 대의 Linux 머신을 갖고 있으며 각 머신에는 동일한 이름의 서비스 계정이 있습니다. 이들은 모두 192.168.1.{1,2,3,4,5}서로 서브넷 연결( )을 갖고 있습니다.

/etc/hosts올바른 IP를 확인하고 이를 올바른 호스트 이름에 추가하는 스크립트가 있습니다 . 각 시스템은 ssh다른 모든 시스템에 대해 비밀번호 없는(15개의 중요한 경로)을 시작할 수 있어야 합니다 . 이 모든 것이 잘 작동하지만 새 시스템을 추가하거나 시스템을 제거하는 경우 관리 작업이 많이 필요합니다. 내 질문은 이것입니다:

완전히 연결된 컴퓨터의 네트워크가 주어지면 각 컴퓨터의 연결을 동시에 어떻게 관리합니까? 예를 들어 수동으로 키를 추가하고 호스트를 편집할 필요 없이 모든 시스템이 서로 통신할 수 있도록 합니다.

답변1

간단히 말해서:

호스트 키

  1. 호스트 키에 대한 CA 키를 만듭니다.

    ssh-keygen -f host_ca
    
  2. 모든 호스트 키에 서명하고 서버에 복사합니다.

    ssh-keygen -s host_ca -I host_foo -h -n foo.bar.com -V +52w /etc/ssh/ssh_host_rsa_key.pub 
    
  3. /etc/ssh/sshd_config호스트 키 외에 인증서를 광고하도록 서버( )를 구성합니다 .

    HostCertificate /etc/ssh/ssh_host_rsa_key-cert.pub
    
  4. 클라이언트( /etc/ssh/ssh_known_hosts)(서로 통신하기 위해 검색하는 경우 서버도 구성)를 구성합니다.

    @cert-authority *.bar.com ssh-rsa AAAAB3[...]== Comment
    

확인 키:

  1. 사용자에 대한 CA 키를 만듭니다.

     ssh-keygen -f user_ca
    
  2. 이 CA("/etc/ssh/sshd_config"에도 있음)에서 서명한 키를 허용하도록 서버를 구성합니다.

    TrustedUserCAKeys /etc/ssh/user_ca.pub
    
  3. 인증 키에 서명합니다.

     ssh-keygen -s user_ca -I user_thomas -n thomas,thomas2 -V +52w /path/to/id_rsa.pub
    

더 많은 메모는 다음에서 찾을 수 있습니다.하베츠아니면 매뉴얼 페이지에서sshd. 귀하의 모든 질문에 답해 주어야 하지만, 그렇지 않은 경우에는 추가 질문을 하시기 바랍니다.

관련 정보