Skip to main content

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

Диагностика сбоев аутентификации при входе в Интерфейс командной строки Copilot.

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

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

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

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

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

Интерфейс командной строки Copilot отображает следующую ошибку:

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

Причина

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

Исправление

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

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

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

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

Интерфейс командной строки Copilot отображает следующую ошибку:

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 не поддерживаются Интерфейс командной строки Copilot.

Исправление

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

Доступ запрещен

Интерфейс командной строки Copilot отображает одну из следующих ошибок:

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

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

Причина

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

Исправление

Следуйте действиям вашей операционной системы для восстановления защищённого хранения учетных данных.

macOS или Windows

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

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

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

Причина

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

Исправление

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