InfoGrab Docs

Kerberos 통합으로 GitLab 문제 해결

Kerberos 통합으로 GitLab 문제 해결에 대해 설명합니다.

Kerberos 통합이 포함된 GitLab을 사용할 때 다음 문제가 발생할 수 있습니다. Windows AD에 대한 Kerberos 인증으로 Google Chrome 사용 # Kerberos를 사용하여 GitLab에 로그인하기 위해 Google Chrome을 사용할 때는 전체 사용자 이름을 입력해야 합니다. 예를 들어 username@domain.com . 전체 사용자 이름을 입력하지 않으면 로그인이 실패합니다. 로그를 확인하여 이 로그인 실패의 증거로 다음 이벤트 메시지를 확인하세요: "message":"OmniauthKerberosController: failed to process Negotiate/Kerberos authentication: gss_accept_sec_context did not return GSS_S_COMPLETE: An unsupported mechanism was requested\nUnknown error". GitLab과 Kerberos 서버 간의 연결 테스트 # kinit 및 klist 와 같은 유틸리티를 사용하여 GitLab 서버와 Kerberos 서버 간의 연결을 테스트할 수 있습니다. 설치 방법은 특정 OS에 따라 다릅니다. klist 를 사용하여 keytab 파일에서 사용 가능한 서비스 주체 이름(SPN)과 각 SPN의 암호화 유형을 확인합니다: klist -ke /etc/http.keytab Ubuntu 서버에서 출력은 다음과 유사합니다: Keytab name: FILE:/etc/http.keytab KVNO Principal ---- -------------------------------------------------------------------------- 3 HTTP/my.gitlab.domain@MY.REALM (des-cbc-crc) 3 HTTP/my.gitlab.domain@MY.REALM (des-cbc-md5) 3 HTTP/my.gitlab.domain@MY.REALM (arcfour-hmac) 3 HTTP/my.gitlab.domain@MY.REALM (aes256-cts-hmac-sha1-96) 3 HTTP/my.gitlab.domain@MY.REALM (aes128-cts-hmac-sha1-96) 상세 모드에서 kinit 를 사용하여 GitLab이 keytab 파일을 사용하여 Kerberos 서버에 연결할 수 있는지 테스트합니다: KRB5_TRACE=/dev/stdout kinit -kt /etc/http.keytab HTTP/my.gitlab.domain@MY.REALM 이 명령은 인증 프로세스의 자세한 출력을 표시합니다. 지원되지 않는 GSSAPI 메커니즘 # Kerberos SPNEGO 인증을 사용할 때 브라우저는 지원하는 메커니즘 목록을 GitLab에 보낼 것으로 예상됩니다. GitLab이 지원하는 메커니즘이 없으면 인증이 실패하고 로그에 다음과 같은 메시지가 표시됩니다: OmniauthKerberosController: failed to process Neg