# GITHUB COPILOT CLI 인증 문제 해결

에 로그인 Copilot CLI할 때 인증 실패 진단

## 인증 오류

인증 오류가 발생하는 경우 아래 표를 사용하여 원인과 해결 방법을 식별합니다.

| 문제                                                     | 원인                            | 수정                                 | 추가 정보 |
| ------------------------------------------------------ | ----------------------------- | ---------------------------------- | ----- |
| 인증 정보를 찾을 수 없음                                         | 자격 증명이 저장되지 않음                |                                    |       |
| `copilot login`을 실행합니다.                                |                               |                                    |       |
| [인증 정보를 찾을 수 없음](#no-authentication-information-found) |                               |                                    |       |
| 401 권한 없음                                              | 토큰이 해지되었거나 권한이 부족합니다.         | 사용 권한이 있는 토큰 생성                    |       |
| [토큰이 만료되었거나 해지됨](#token-expired-or-revoked)            |                               |                                    |       |
| Token (classic) 거부됨                                    |                               |                                    |       |
| Token (classic)(`ghp_`)                                | 세분화된 personal access token 사용 |                                    |       |
| \[                                                     |                               |                                    |       |
| Token (classic) 거부]\(#token-classic-rejected)          |                               |                                    |       |
| 403 금지 또는 정책 거부                                        |                               |                                    |       |
| Copilot 라이선스 또는 엔터프라이즈/조직 정책                           | 구독 및 조직 설정 확인                 |                                    |       |
| [Access 거부됨](#access-denied)                           |                               |                                    |       |
| 키 집합을 사용할 수 없음                                         | 누락된 시스템 키체인                   |                                    |       |
| `libsecret`을 설치하거나 일반 텍스트를 수락하십시오.                     |                               |                                    |       |
| [키체인 접근 실패](#keychain-access-failure)                  |                               |                                    |       |
| 잘못된 계정                                                 | 여러 계정 또는 환경 변수 재정의            | 환경 변수를 확인하고 `/user switch`를 사용하세요. |       |
| [잘못된 계정](#wrong-account)                               |                               |                                    |       |

## 인증 정보를 찾을 수 없음

Copilot CLI 는 다음 오류를 표시합니다.

<!-- markdownlint-disable GHD005 -->

```text
Error: No authentication information found
Copilot can be authenticated with GitHub using an OAuth Token or a Fine-Grained Personal Access Token
```

<!-- markdownlint-enable GHD005 -->

### 원인

선택한 위치에 자격 증명이 없습니다.

### 수정

다음 단계를 사용하여 인증이 누락된 위치를 찾고 access 복원합니다.

#### 인증 상태 확인

```bash copy
gh auth status
```

로그인하지 않았음을 나타내는 메시지가 표시되면 `gh auth login`으로 로그인하세요. 또는 `copilot login`로 OAuth 흐름을 사용하세요.

#### 인증 환경 변수가 설정되었는지 확인

환경 변수를 사용하는 경우, `COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, 또는 `GITHUB_TOKEN` 환경 변수가 설정되어 있는지 확인합니다.

```bash copy
echo $COPILOT_GITHUB_TOKEN
```

명령이 아무 것도 인쇄하지 않으면 변수가 설정되지 않습니다. 변수를 유효한 토큰으로 설정합니다. 토큰을 생성하려면 [GitHub Copilot CLI를 인증하기](/ko/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli#authenticating-with-environment-variables) 참조하세요.

```bash copy
 export $COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN
```

#### macOS 키체인

```bash copy
security find-generic-password -s copilot-cli
```

항목을 찾을 수 없는 경우 `/login` 또는 `copilot login`로 다시 인증하거나 새 항목을 만들 수 있습니다.
항목을 찾았지만 인증이 여전히 실패하는 경우 저장된 자격 증명을 제거한 다음, 다음을 사용하여 `/login` 다시 인증합니다 `copilot login`.

```bash copy
  security delete-generic-password -s copilot-cli
```

## 토큰이 만료되었거나 해지됨

Copilot CLI 는 다음 오류를 표시합니다.

<!-- markdownlint-disable GHD005 -->

```text
Error: Authentication failed

Your GitHub token may be invalid, expired, or lacking the required permissions.

To resolve this, try the following:
  • Start 'copilot' and run the '${LOGIN_COMMAND}' command to re-authenticate
  • If using a Fine-Grained PAT, ensure it has the 'Copilot Requests' permission enabled
  • If using COPILOT_GITHUB_TOKEN, GH_TOKEN or GITHUB_TOKEN environment variable, verify the token is valid and not expired
  • Run 'gh auth status' to check your current authentication status
```

<!-- markdownlint-enable GHD005 -->

### 원인

토큰이 해지되었거나, 만료되었거나, 필요한 권한 없이 만들어졌습니다.

### 수정

에 대한 토큰의 상태 및 사용 권한을 검토합니다 GitHub. 토큰은 요청 권한이 있는 fine-grained personal access token**개인 계정**(조직 아님)**Copilot** 이 소유해야 합니다. 필요한 경우 필요한 권한으로 새 토큰을 생성합니다.

## Token (classic) 거부됨

토큰으로 `ghp_` 시작하는 것은 자동으로 무시되고 CLI는 토큰이 설정되지 않은 것처럼 동작합니다.

### 원인

클래식 personal access tokens은 Copilot CLI에서 지원되지 않습니다.

### 수정

필요한 범위로 세분화된 personal access token 값을 생성합니다.

## Access 거부됨

Copilot CLI 는 다음 오류 중 하나를 표시합니다.

```text
Error: Access denied by policy settings

Your Copilot CLI policy setting may be preventing access. This can happen when:
  • Your organization has restricted Copilot access
  • Your Copilot subscription does not include this feature
  • Required policies have not been enabled by your administrator

To resolve this, visit your Copilot settings: 
```

### 원인

조직 정책이 GitHub Copilot CLI를 차단하거나 사용자 계정에 GitHub Copilot 라이선스가 없습니다.

### 수정

* 계정에 활성 GitHub Copilot 라이선스가 있는지 확인합니다.
* 조직 관리자가 조직 정책에서 GitHub Copilot CLI을(를) 사용하도록 요청하세요.

## 키체인 액세스 실패

로그인하는 동안 CLI는 시스템 키 집합을 사용할 수 없다는 메시지를 표시하고 자격 증명을 일반 텍스트로 저장할지 여부를 묻습니다.

```text
System keychain unavailable. Store token in plaintext config file? (y/N)
```

### 원인

시스템 키 집합에 액세스할 수 없습니다. 이 문제는 사용 권한 문제가 있는 시스템 또는 헤드리스 서버가 없는 `libsecret`Linux 시스템에서 발생할 수 있습니다.

### 수정

운영 체제의 단계에 따라 보안 자격 증명 저장소를 복원하십시오.

#### macOS 또는 Windows

macOS에서 키 집합 Access 앱을 사용할 수 있는지 확인하고 로그인 키 집합의 잠금을 해제할 수 있습니다.
Windows에서 자격 증명 관리자가 사용 가능한지 확인하고, Windows 자격 증명 모음에 액세스할 수 있는지 확인하십시오.
시스템 자격 증명 관리자에 접근할 수 없는 경우, 메시지가 표시되면 일반 텍스트 저장소를 사용하거나 환경 변수 토큰을 사용하여 인증한 다음 `/login` 또는 `copilot login`을 다시 실행합니다.

#### 리눅스

Linux에서 시스템 키 지정을 사용하거나 자격 증명을 일반 텍스트로 저장합니다.

1. `secret-tool`이(가) 설치되어 있는지 확인합니다.

   ```bash copy
   command -v secret-tool
   ```

2. `secret-tool`를 찾을 수 없거나 검색 명령이 결과를 반환하지 않으면 `libsecret` 및 그 종속성을 설치하십시오. 예를 들어 Debian 및 Ubuntu에서는 다음 명령을 사용할 수 있습니다."

   ```bash copy
   sudo apt install libsecret-1-0 gnome-keyring seahorse
   ```

3. 설치되면 `secret-tool` 키링에서 저장된 자격 증명을 검색합니다.

   ```bash copy
   secret-tool search copilot-cli
   ```

   명령이 하나 이상의 결과를 반환하는 경우 자격 증명이 키링에 존재합니다. 터미널에서 `copilot login`을 실행하거나 `/login`에서 Copilot CLI을 다시 실행하세요.

## 잘못된 계정

잘못된 사용자가 인증되었거나 토큰이 잘못된 조직에 속합니다.

### 원인

여러 계정이 저장되거나 환경 변수가 저장된 토큰을 재정의합니다.

### 수정

계정을 전환하려면 CLI 프롬프트에서 `/user switch`을 사용하거나 `/logout`으로 로그아웃한 후 올바른 계정으로 `/login`을 실행하십시오.