# Устранение неполадок аутентификации 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` открытый текст              |                           |
| [Брелок access отказ](#keychain-access-failure)                                 |                                                    |                                                                |                           |
| Неправильный аккаунт                                                            | Множественные аккаунты или переопределение env var | Проверьте варьеры окружающей среды, используйте `/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` помощью OAuth или используйте поток OAuth с `copilot login`.

#### Проверьте, установлена ли переменная среды аутентификации

Если вы используете переменную среды, проверьте, установлена `COPILOT_GITHUB_TOKEN`ли переменная , `GH_TOKEN`, или `GITHUB_TOKEN` переменная среды:

```bash copy
echo $COPILOT_GITHUB_TOKEN
```

Если команда ничего не печатает, переменная не устанавливается. Установите переменную на допустимый токен. Для генерации токена см. [Аутентификация GitHub Copilot CLI](/ru/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 политику организации.

## Сбой keychain access

Во время входа CLI подспрашивает, что системный ключ недоступен, и спрашивает, хранить ли учетные данные в открытом тексте.

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

### Причина

Системный брелок недоступен. Это может происходить на системах Linux без `libsecret`headless-серверов или на системах с проблемой разрешения.

### Исправление

Следуйте инструкциям вашей операционной системы для восстановления Secure Credential storage.

#### macOS или Windows

На macOS убедитесь, что доступно приложение Keychain Access, и вы сможете разблокировать свой брелок для входа.
В Windows убедитесь, что доступен Менеджер учетных данных, и вы сможете получить доступ к хранилищу Windows.
Если вы не можете access системный менеджер учетных данных, используйте открытый текст storage (если запросили) или аутентифицируйтесь с помощью токена переменной среды, затем перезапустите `/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 машине.

## Неправильный аккаунт

Не тот пользователь аутентифицирован, либо токен принадлежит не той организации.

### Причина

Хранится несколько аккаунтов, или переменная среды переопределяет сохранённый токен.

### Исправление

Чтобы сменить аккаунт, используйте `/user switch` через CLI или выйдите с `/logout` нужным аккаунтом и запустите `/login` его.