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 사용자가 키를 소유하는지에 대한 정보가 키 자체에 인코딩됩니다. OpenSSH는 사용자가 프라이빗 CA 서명 키에 액세스해야 하기 때문에 이를 위조할 수 없음을 보장합니다. 올바르게 설정하면 사용자 SSH 키를 GitLab에 업로드할 필요가 전혀 없어집니다. GitLab Shell을 통한 SSH 인증서 조회 설정 # SSH 인증서를 완전히 설정하는 방법은 이 문서의 범위를 벗어납니다. 작동 방식은 OpenSSH의 PROTOCOL.certkeys 를 참조하고, 예시는 RedHat의 문서 를 참조하세요. 이미 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"를 반드시 가져야 합니다. 예를 들어(간략하게 일부 출력 생략): $ ssh-add -L | grep cert | ssh-keygen -L -f - (stdin):1: Type: ssh-rsa-cert-v01@openssh.com user certificate Public key: RSA-CERT SHA256:
