Сведения о проверке подлинности
Если вы используете собственные API ключи провайдера LLM (BYOK), GitHub аутентификация не требуется.
Для любого другого GitHub Copilot CLI использования требуется аутентификация.
Когда требуется аутентификация, Copilot CLI поддерживается три метода. Метод зависит от того, работаете ли вы интерактивно или в автоматизированной среде.
-
**OAuth device flow**: Стандартный и рекомендуемый метод интерактивного использования. Когда вы запускаете `/login`Copilot CLI, CLI генерирует одноразовый код и направляет вас на аутентификацию в браузере. Это самый простой способ аутентификации. См. [Аутентификация с помощью OAuth](#authenticating-with-oauth). -
**переменные среды**: Рекомендуется для CI/CD pipelines, контейнеров и неинтерактивных сред. Вы устанавливаете поддерживаемый токен в виде переменной среды (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, или `GITHUB_TOKEN`), и CLI использует его автоматически без подсказки. См. [Аутентификация с помощью переменных среды](#authenticating-with-environment-variables). -
** GitHub CLI Запасной** вариант: если у вас установлен GitHub CLI (`gh`) (примечание: `gh` CLI, а не `copilot`) аутентифицирован, Copilot CLI можно использовать его токен автоматически. Это метод с наименьшим приоритетом и активируется только при отсутствии других учетных данных. См. [Аутентификация с GitHub CLI](#authenticating-with-github-cli).
После аутентификации Copilot CLI он запоминает ваш логин и автоматически использует токен для всех Copilot запросов API. Вы можете войти с несколькими аккаунтами, и CLI запомнит последний использованный аккаунт. Срок службы и истечение токена зависят от того, как токен был создан в настройках вашего аккаунта или организации.
Неаутентифицированное использование
Если вы настроите Copilot CLI на использование собственных API-ключей провайдера LLM (BYOK), GitHub аутентификация не требуется. Copilot CLI Можно подключиться напрямую к вашему назначенному провайдеру без GitHub аккаунта или токена.
Однако без GitHub аутентификации следующие функции недоступны:
-
`/delegate`: Требуется Copilot облачный агент, который работает на GitHubсерверах ' -
GitHub MCP-сервер: требуется аутентификация для доступа GitHub к API -
GitHub Поиск по коду: требуется аутентификация для GitHubзапроса индекса поиска
Вы можете объединить BYOK с GitHub аутентификацией, чтобы получить максимум из обоих: предпочитаемой модели для ответов ИИ, а также доступ к GitHubфункциям -хостинга, таким /delegate как поиск по коду.
почтовые ящики в автономном режиме.
Если выставить COPILOT_OFFLINE переменную среды в true, Copilot CLI запускается без контакта GitHubс серверами . В офлайн-режиме:
-
GitHub Аутентификация не пытается. - CLI отправляет сетевые запросы только к вашему настроенному провайдеру BYOK.
- Телеметрия полностью отключена.
Офлайн-режим полностью отключён только в том случае, если ваш провайдер BYOK локально или находится в одной и той же изолированной среде (например, модель, запущенная локально без доступа к внешней сети). Если COPILOT_PROVIDER_BASE_URL он указывает на удалённую или доступную в Интернет конечную точку, запросы и контекст кода всё равно будут отправляться по сети этому провайдеру. Без офлайн-режима, даже при использовании BYOK без GitHub аутентификации, телеметрия всё равно отправляется нормально.
Поддерживаемые типы токенов
| Тип токена | Префикс | Поддерживается | Примечания. |
|---|---|---|---|
| OAuth токен (поток устройств) | gho_ | Да | Метод по умолчанию через copilot login |
| Мелкозернистый PAT | github_pat_ | Да | Должны быть указаны необходимые права Copilot Запросы |
| GitHub Приложение user-to-server | ghu_ | Да | Через переменную среды |
| Классический PAT | ghp_ | нет | Не поддерживается Copilot CLI |
Как Copilot CLI хранит учетные данные
По умолчанию CLI хранит ваш OAuth токен в ключевом наборе операционной системы под именем copilot-cliсервиса:
| Platform | Брелок |
|---|---|
| macOS | Доступ с брелками |
| Windows | Менеджер учетных данных |
| Линукс | libsecret (GNOME Keyring, KWallet) |
Если системный ключ недоступен — например, на безголовом сервере Linux без libsecret установленного — CLI предлагает сохранить токен в открытом конфигурационном файле по адресу ~/.copilot/config.json.
При запуске команды Copilot CLI проверяет учетные данные в следующем порядке:
- переменная среды
COPILOT_GITHUB_TOKEN - переменная среды
GH_TOKEN - переменная среды
GITHUB_TOKEN - Токен OAuth из системного ключа
- GitHub Запасной вариант CLI (
gh auth token)
Примечание.
- Переменная среды бесшумно переопределяет сохранённый токен OAuth. Если выбрать
GH_TOKENдругой инструмент, CLI использует этот токен вместо токена OAuth изcopilot login. Чтобы избежать неожиданного поведения, отключите переменные среды, которые вы не планируете использовать в CLI. - Когда вы настраиваете переменные среды провайдера BYOK (например,
COPILOT_PROVIDER_BASE_URL,COPILOT_PROVIDER_API_KEY), Copilot CLI вы используете их для запросов модели ИИ независимо от статуса GitHub вашей аутентификации. GitHub Токены нужны только для GitHub-hosted функций.
Аутентификация с помощью OAuth
Поток устройств OAuth является методом аутентификации по умолчанию для интерактивного использования. Вы можете аутентифицироваться, бегая /login от Copilot CLI терминала или copilot login от него.
Проверка подлинности с помощью /login
-
От , беги Copilot CLI
/login.Bash /login
/login -
Выберите аккаунт, с которого хотите аутентифицироваться. Если GitHub Enterprise Cloud при data residecy введите имя хоста вашего экземпляра
What account do you want to log into? 1. GitHub.com 2. GitHub Enterprise Cloud with data residency (*.ghe.com) -
CLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.
Waiting for authorization... Enter one-time code: 1234-5678 at https://github.com/login/device Press any key to copy to clipboard and open browser... -
Перейдите по URL проверки
https://github.com/login/device, если ваш браузер не открылся автоматически. -
Вставьте одноразовый код в поле на странице.
-
Если ваша организация использует SAML SSO, нажмите Authorize рядом с каждой организацией, которой хотите предоставить access.
-
Просмотрите запрошенные права и нажмите Авторизовать GitHub Copilot CLI.
-
Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.
Signed in successfully as Octocat. You can now use Copilot.
Проверка подлинности с помощью copilot login
-
От терминала беги
copilot login. Если вы используете GitHub Enterprise Cloud с Data Reside, передайте имя хоста вашего экземпляра.Bash copilot login
copilot loginДля GitHub Enterprise Cloud:
Bash copilot login --host HOSTNAME
copilot login --host HOSTNAMECLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.
To authenticate, visit https://github.com/login/device and enter code 1234-5678. -
Перейдите по URL проверки
https://github.com/login/device, если ваш браузер не открылся автоматически. -
Вставьте одноразовый код в поле на странице.
-
Если ваша организация использует SAML SSO, нажмите Authorize рядом с каждой организацией, которой хотите предоставить access.
-
Просмотрите запрошенные права и нажмите Авторизовать GitHub Copilot CLI.
-
Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.
Signed in successfully as Octocat.
Аутентификация с помощью переменных окружения
Для неинтерактивных сред можно аутентифицировать, установив переменную среды с поддерживаемым токеном. Это идеально подходит для CI/CD pipelines, контейнеров или безголовых серверов.
- Посетите Fine-grained personal access tokens.
- В разделе «Разрешения» нажмите « Добавить разрешения » и выберите Copilot «Запросы».
- Щелкните Создать токен.
- Экспортируйте токен в конфигурации вашего терминала или среды. Используйте
COPILOT_GITHUB_TOKENпеременную ,GH_TOKENилиGITHUB_TOKENсреду (в порядке приоритета).
Аутентификация с помощью GitHub CLI
Если вы установили GitHub CLI и аутентифицировались, Copilot CLI можете использовать его токен как запасной вариант. Этот метод имеет самый низкий приоритет и активируется только при отсутствии переменных окружающей среды и отсутствия сохранённого токена.
-
Проверьте, что GitHub CLI аутентифицировано.
Bash gh auth status
gh auth statusЕсли вы используете GitHub Enterprise Cloud с data reside, проверьте, правильно ли аутентифицировано имя хоста.
Bash gh auth status --hostname HOSTNAME
gh auth status --hostname HOSTNAME -
Выполните
copilot. Copilot CLI автоматически использует токен GitHub CLI. -
Проверьте
/userваш аутентифицированный аккаунт в CLI.
Переключение между учетными записями
Copilot CLI Поддерживает несколько аккаунтов. Вы можете указать доступные аккаунты и переключаться между ними внутри CLI. Чтобы перечислить доступные аккаунты, забегайте `/user list` по запросу Copilot CLI . Чтобы переключиться на другой аккаунт, введите `/user switch` в подсказке.
Чтобы добавить ещё одну учётную запись, запустите copilot login с новой сессии терминала или выполните команду входа из CLI и авторизуйте с другой учётной записью.
Выход из системы и удаление учетных данных
Чтобы выйти из системы, введите /logout в подсказку Copilot CLI . Это удаляет локально хранящийся токен, но не отменяет его на GitHub.
Чтобы отменить авторизацию приложения OAuth и GitHub предотвратить его использование в других местах, следуйте следующим шагам.
- Перейдите в настройки > приложений > Авторизованные OAuth приложения.
- Перейдите на страницу настроек:
- В правом верхнем углу любой страницы на GitHub, нажмите на свою фотографию профиля.
- Нажмите кнопку "Параметры".
- В левой боковой панели нажмите «Приложения».
- В разделе Authorized OAuth Apps нажмите рядом с GitHub CLI чтобы расширить меню и выбрать Revoke.