Skip to main content

Устранение неполадок аутентификации CLI GitHub Copilot

Диагностика сбоев аутентификации при входе в Второй пилот CLI.

Ошибки проверки подлинности

Если вы столкнётесь с ошибками аутентификации, используйте таблицу ниже, чтобы определить причину и разрешение.

ПроблемаПричинаИсправлениеДополнительная информация
Информации об аутентификации не найденоУчетные данные не сохраняютсяЗапуск copilot login
          [Информации об аутентификации не найдено](#no-authentication-information-found)       |

| 401 — не авторизовано | Токен отозван или недостаточны права | Генерируйте токен с разрешениями | Токен истёк или аннулирован | | Token (classic) отклонены | Token (classic) (ghp_) | Используйте мелкозернистый personal access token | Token (classic) отклонены | | 403 Запрещено или политика отклонена | Copilot лицензия или корпоративная/организация-политика | Проверьте подписку и настройки организации | Access отклонено | | Брелок недоступен | Отсутствующий системный брелок | Установите или примите libsecret открытый текст | Брелок access отказ | | Неправильный аккаунт | Множественные аккаунты или переопределение env var | Проверьте варьеры окружающей среды, используйте /user switch | Неправильный аккаунт |

Информации об аутентификации не найдено

Второй пилот CLI отображает следующую ошибку:

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

Причина

В одном из проверенных пунктов нет никаких удостоверений данных.

Исправление

Используйте следующие шаги, чтобы найти отсутствующую аутентификацию и восстановить access.

Проверьте статус аутентификации

Bash
gh auth status

Если вы видите сообщение о том, что вы не вошли в систему, войдите с gh auth login помощью OAuth или используйте поток OAuth с copilot login.

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

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

Bash
echo $COPILOT_GITHUB_TOKEN

Если команда ничего не печатает, переменная не устанавливается. Установите переменную на допустимый токен. Для генерации токена см. Аутентификация GitHub Copilot CLI.

Bash
 export $COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN

Брелок для macOS

Bash
security find-generic-password -s copilot-cli

Если предмет не найден, повторно аутентифицируйте с /login помощью или copilot login чтобы создать его. Если элемент найден, но аутентификация всё равно не удалась, удалите сохранённые учетные данные и затем снова аутентифицируйтесь с помощью /login или copilot login:

Bash
  security delete-generic-password -s copilot-cli

Токен истёк или аннулирован

Второй пилот CLI отображает следующую ошибку:

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

Причина

Токен был аннулирован, истёк или создан без необходимых разрешений.

Исправление

Проверьте статус токена и разрешения на GitHub. Токен должен иметь разрешение Copilot Request . При необходимости генерируйте новый токен с необходимыми правами.

Token (classic) отклонены

Токен, начинающийся с , ghp_ молча игнорируется, а CLI ведёт себя так, будто токен не установлен.

Причина

Классические personal access tokens не поддерживаются Второй пилот CLI.

Исправление

Генерируйте тонко зернистый personal access token с необходимыми областью видимости.

Access запрещён

Второй пилот CLI отображает одну из следующих ошибок:

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 подспрашивает, что системный ключ недоступен, и спрашивает, хранить ли учетные данные в открытом тексте.

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

Причина

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

Исправление

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

macOS или Windows

На macOS убедитесь, что доступно приложение Keychain Access, и вы сможете разблокировать свой брелок для входа. В Windows убедитесь, что доступен Credential Manager, и вы сможете access к хранилищу Windows. Если вы не можете access системный менеджер учетных данных, используйте открытый текст storage (если запросили) или аутентифицируйтесь с помощью токена переменной среды, затем перезапустите /login или copilot login.

Линукс

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

  1. Проверьте, установлен secret-tool ли он:

    Bash
    command -v secret-tool
    
  2. Если secret-tool не найдено или команда поиска не даёт результатов, установите libsecret и её зависимости.

    Bash
    sudo apt sudo apt list libsecret-1-0 libsecret-1-dev libsecret-common gnome-keyring gnome-keyring-pkcs11 seahorse
    
  3. После secret-tool установки выполните поиск сохранённого учетного данных в кольце ключей:

    Bash
    secret-tool search copilot-cli
    

    Если команда возвращает один или несколько результатов, в брелоке существуют учетные данные. Запускайте copilot login в терминале или /login снова в Второй пилот CLI.

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

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

Причина

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

Исправление

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