Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Bastion 서버

bastion을 통해 서버에 로그인하기

인프라의 보안을 강화하기 위해 SSH로 프로덕션 서버에 직접 연결할 수 없도록 되어 있습니다. 그 대신 모든 연결은 “bastion“이라는 작은 서버를 거쳐야 하며, 이 서버는 허용 목록에 등록된 몇몇 네트워크에서 오는 연결만 허용하고 모든 연결 시도를 기록합니다.

bastion을 통해 서버에 로그인하려면 다음 방법 중 하나를 사용하십시오.

  • SSH의 -J 플래그를 사용하십시오.

    ssh -J <username>@bastion.infra.rust-lang.org <username>@servername.infra.rust-lang.org
    
  • 호스트에 연결할 때 항상 bastion을 경유하도록 SSH 클라이언트를 구성하십시오.

    • 다음 코드 조각을 SSH 설정 파일(일반적으로 ~/.ssh/config에 있음)에 추가하십시오:

      Host servername.infra.rust-lang.org
          ProxyJump <username>@bastion.infra.rust-lang.org
      
    • SSH를 사용하십시오.

      ssh <username>@servername.infra.rust-lang.org
      

각 계정에 로그인할 수 있도록 승인된 SSH 키는 simpleinfra 저장소에 저장되어 있습니다. 또한 민감한 1password 접근 권한이 있는 사람은 보관소(vault)에 저장된 마스터 키를 사용하여 모든 계정에 로그인할 수 있습니다.

일반적인 유지 관리 절차

bastion 서버에 새 사용자 추가하기

bastion에 새 사용자를 추가하려면 해당 사용자의 키를 ansible/roles/common/files/ssh-keys에 <username>.pub이라는 이름의 파일로 추가하고, Ansible 플레이북을 수정하여 해당 사용자를 권한 없는 사용자 목록에 추가해야 합니다. 해당 사용자가 어떤 서버에 접근할 수 있는지 밝히는 주석을 남겨 주십시오.

작업을 마쳤으면 플레이북을 적용하십시오.