- 오류:
HTTP Basic: Access denied. If a password was provided for Git authentication ...
- 오류: “잘못된 핀 코드”
- 오류: “Permission denied (publickey)”를 통해 복구 코드 재생성 시
- 복구 옵션 및 2단계 인증 재설정
2단계 인증 문제 해결
오류: HTTP Basic: Access denied. If a password was provided for Git authentication ...
요청을 할 때 다음과 같은 오류를 받을 수 있습니다:
HTTP Basic: Access denied. If a password was provided for Git authentication, the password was incorrect or you're required to use a token instead of a password. If a token was provided, it was either incorrect, expired, or improperly scoped.
이 오류는 다음 시나리오에서 발생합니다:
- 2단계 인증이 활성화된 상태에서 사용자 이름과 암호로 인증을 시도한 경우.
- 2단계 인증이 비활성화된 상태에서 요청과 함께 잘못된 사용자 이름 또는 암호를 보낸 경우.
- 2단계 인증이 비활성화된 상태이지만 관리자가 모든 사용자에 대해 2단계 인증을 강제화했을 경우.
- 2단계 인증이 비활성화된 상태이지만 관리자가 Git HTTP(S)에 대한 암호 인증을 사용하지 못하도록 설정한 경우.
대신 다음을 사용하여 인증할 수 있습니다:
-
개인 액세스 토큰 (PAT)을 사용:
- HTTP(S)를 통한 Git 요청의 경우,
read_repository
또는write_repository
범위가 필요한 PAT입니다. -
GitLab 컨테이너 레지스트리 요청의 경우,
read_registry
또는write_registry
범위가 필요한 PAT입니다. -
의존성 프록시 요청의 경우,
read_registry
및write_registry
범위가 필요한 PAT입니다.
- HTTP(S)를 통한 Git 요청의 경우,
- LDAP를 구성한 경우 LDAP 비밀번호를 사용
- OAuth 자격 증명 도우미를 사용.
오류: “잘못된 핀 코드”
잘못된 핀 코드
오류를 받으면, 이는 인증 애플리케이션과 GitLab 인스턴스 사이에 시간 동기화 문제가 있을 수 있다는 것을 나타낼 수 있습니다.
시간 동기화 문제를 피하려면 코드를 생성하는 디바이스에서 시간 동기화를 활성화하세요. 다음과 같이 수행할 수 있습니다:
- Android의 경우 (Google Authenticator):
- Google Authenticator에서 메인 메뉴로 이동합니다.
- 설정을 선택합니다.
- 코드용 시간 보정을 선택합니다.
- 지금 동기화를 선택합니다.
- iOS의 경우:
- 설정으로 이동합니다.
- 일반을 선택합니다.
- 날짜 및 시간을 선택합니다.
- 자동으로 설정을 활성화합니다. 이미 활성화된 경우 비활성화한 후 잠시 기다린 다음 다시 활성화합니다.
오류: “Permission denied (publickey)”를 통해 복구 코드 재생성 시
SSH 키를 사용하여 새로운 복구 코드를 생성하려고 할 때 Permission denied (publickey)
오류를 받으면, 기본 SSH 키 쌍 파일 경로를 사용하지 않는 경우 ssh-agent를 사용하여 개인 SSH 키를 수동으로 등록해야 할 수 있습니다.
복구 옵션 및 2단계 인증 재설정
코드 생성 디바이스에 액세스할 수 없고 계정에 로그인할 수 없는 경우 다음과 같은 복구 옵션이 가능합니다:
- 2단계 인증을 활성화할 때 복구 코드를 저장한 경우 저장된 복구 코드를 사용.
- 복구 코드를 가지고 있지 않지만 SSH 키를 가지고 있는 경우 SSH를 사용하여 새로운 복구 코드 생성.
- 복구 코드나 SSH 키를 가지고 있지 않은 경우, 계정의 2단계 인증을 비활성화하고 재설정할 수 있습니다.
저장된 복구 코드 사용
복구 코드를 사용하려면:
- GitLab 로그인 페이지에서 사용자 이름 또는 이메일과 암호를 입력합니다.
- 두 요소 인증 코드를 요청받으면 복구 코드를 입력합니다.
복구 코드를 한 번 사용하면 다시 사용할 수 없습니다. 여전히 저장된 다른 복구 코드를 사용할 수 있습니다.
SSH를 사용하여 새로운 복구 코드 생성
2단계 인증을 활성화할 때 복구 코드를 저장하는 것을 잊었고 GitLab 계정에 SSH 키를 추가한 경우, 다음과 같이 새로운 복구 코드를 생성할 수 있습니다:
-
터미널에서 다음을 실행합니다:
ssh git@gitlab.com 2fa_recovery_codes
자체 관리형 인스턴스의 경우, 위 명령어의
gitlab.com
을 GitLab 서버 호스트명(예:gitlab.example.com
)으로 바꿉니다. -
새 코드를 생성하고자 하는지 확인 여부를 묻습니다. 이 과정에서 이전에 저장한 코드가 무효화됩니다. 예를 들어:
새로운 두 요소 인증 복구 코드를 생성하시겠습니까? 저장된 복구 코드가 무효화됩니다. (예/아니요) 예 당신의 두 요소 인증 복구 코드: 119135e5a3ebce8e 11f6v2a498810dcd 3924c7ab2089c902 e79a3398bfe4f224 34bd7b74adbc8861 f061691d5107df1a 169bf32a18e63e7f b510e7422e81c947 20dbed24c5e74663 df9d3b9403b9c9f0 로그인 시 위 코드 중 하나를 두 요소 코드로 요구될 때 사용하고, 프로필 설정으로 이동하여 계정에 새로운 디바이스를 추가하여 다시 계정에 액세스하지 못하도록 합니다.
-
GitLab 로그인 페이지로 이동하여 사용자 이름 또는 이메일과 암호를 입력합니다. 두 요소 코드를 요구받으면 명령줄 출력에서 얻은 복구 코드 중 하나를 입력합니다.
로그인한 후 즉시 새로운 디바이스로 2단계 인증을 설정하세요.
계정의 2단계 인증을 비활성화하고 재설정
다른 방법을 사용할 수 없는 경우, GitLab 글로벌 관리자에게 계정의 2단계 인증을 비활성화하기 위해 지원 티켓을 생성하세요.
이 서비스는 GitLab.com 구독을 가진 계정에만 제공됩니다. 자세한 내용은 블로그 게시물을 참조하십시오.
- GitLab 지원으로 이동합니다.
- 티켓 제출을 선택합니다.
- 가능한 경우 계정에 로그인합니다.
- 문제 드롭다운 목록에서 GitLab.com 사용자 계정 및 로그인 문제를 선택합니다.
- 지원 양식의 필드를 작성합니다.
- 제출을 선택합니다.
이 설정을 임시로 비활성화하면 계정의 보안 수준이 낮아집니다. 가능한 빨리 로그인하여 2단계 인증을 다시 활성화하세요.
지불 플랜이 있는 네임스페이스의 최고 수준 소유자인 경우, 기업 사용자의 2단계 인증을 비활성화할 수 있습니다. 더 많은 정보를 보려면 이중 인증 해제를 참조하세요.