InfoGrab DocsInfoGrab Docs

OpenSSH AuthorizedPrincipalsCommand를 사용한 사용자 조회

OpenSSH AuthorizedPrincipalsCommand를 사용한 사용자 조회에 대해 설명합니다.

GitLab Self-Managed 인스턴스의 기본 SSH 인증은 사용자가 SSH 전송을 사용하기 전에 SSH 공개 키를 업로드해야 합니다. 기업 환경과 같은 중앙 집중식 환경에서는 이 요구 사항이 운영 오버헤드를 만들 수 있습니다. 이는 발급 후 24시간 후에 만료되는 키와 같이 SSH 키가 임시적인 경우에 특히 그렇습니다. 이러한 설정에서는 외부 자동화 프로세스가 GitLab에 새 키를 지속적으로 업로드해야 합니다. Warning AuthorizedKeysCommand 가 지문을 수락할 수 있어야 하므로 OpenSSH 버전 6.9 이상이 필요합니다. 서버의 OpenSSH 버전을 확인하세요. OpenSSH 대신 gitlab-sshd 를 사용하는 경우 OpenSSH 구성 없이 gitlab-sshd 구성 파일에서 직접 인스턴스 수준 SSH 인증서 인증을 구성할 수 있습니다. 자세한 내용은 gitlab-sshd 를 사용한 인스턴스 수준 SSH 인증서 를 참조하세요. GitLab.com 그룹 소유자인 경우 대신 OpenSSH 구성이 필요 없고 GitLab SSH 서버를 사용하는 그룹 범위의 SSH 인증서 기능을 사용해야 합니다. 자세한 내용은 그룹 SSH 인증서 관리 를 참조하세요. OpenSSH 인증서를 사용하는 이유 # OpenSSH 인증서를 사용하면 어떤 GitLab 사용자가 키를 소유하는지에 대한 정보가 키 자체에 인코딩됩니다. 사용자는 프라이빗 CA 서명 키에 액세스해야 하므로 이 정보를 위조할 수 없습니다. 올바르게 설정하면 OpenSSH 인증서는 사용자 SSH 키를 GitLab에 업로드할 필요를 없앱니다. GitLab Shell을 통한 SSH 인증서 조회 설정 # SSH 인증서의 전체 설정은 이 페이지의 범위를 벗어납니다. SSH 인증서의 작동 방식은 OpenSSH PROTOCOL.certkeys 명세 를 참조하고, OpenSSH 인증서 인증에 대한 Red Hat 문서 를 참조하세요. 시작하기 전에 이미 SSH 인증서를 설정하고 sshd_config 에 CA의 TrustedUserCAKeys 를 추가했는지 확인하세요. 예를 들어: TrustedUserCAKeys /etc/security/mycompany_user_ca.pub 일반적으로 TrustedUserCAKeys 는 GitLab 서버 자체에 대한 시스템 로그인에도 사용될 것이기 때문에 이러한 설정에서 Match User git 아래에 범위가 지정되지 않지만, 설정에 따라 다를 수 있습니다. CA가 GitLab에만 사용되는 경우 아래에 설명된 Match User git 섹션에 이를 배치하는 것을 고려하세요. 해당 CA에서 발급한 각 SSH 인증서는 사용자의 GitLab 사용자 이름에 해당하는 "key ID"를 반드시 가져야 합니다. AuthorizedPrincipalsCommand 는 이 key ID를 GitLab 사용자 이름에 매핑하므로, GitLab은 공개 키와 사용자 이름 매핑에 의존하는 대신 인증서에서 사용자 이름을 추출합니다. GitLab과 함께 제공되는 기본 명령은