Skip to main content

Аутентификация GitHub Copilot CLI

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

Кто может использовать эту функцию?

GitHub Copilot CLI Доступна со всеми Copilot тарифными планами. Если вы получаете Copilot от организации, Copilot CLI политика должна быть включена в настройках организации.

Сведения о проверке подлинности

Если вы используете собственные 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
Мелкозернистый PATgithub_pat_ДаДолжны быть указаны необходимые права Copilot Запросы
GitHub Приложение user-to-serverghu_ДаЧерез переменную среды
Классический PATghp_нетНе поддерживается Copilot CLI

Как Copilot CLI хранит учетные данные

По умолчанию CLI хранит ваш OAuth токен в ключевом наборе операционной системы под именем copilot-cliсервиса:

PlatformБрелок
macOSДоступ с брелками
WindowsМенеджер учетных данных
Линуксlibsecret (GNOME Keyring, KWallet)

Если системный ключ недоступен — например, на безголовом сервере Linux без libsecret установленного — CLI предлагает сохранить токен в открытом конфигурационном файле по адресу ~/.copilot/config.json.

При запуске команды Copilot CLI проверяет учетные данные в следующем порядке:

  1. переменная среды COPILOT_GITHUB_TOKEN
  2. переменная среды GH_TOKEN
  3. переменная среды GITHUB_TOKEN
  4. Токен OAuth из системного ключа
  5. 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

  1. От , беги Copilot CLI/login.

    Bash
    /login
    
  2. Выберите аккаунт, с которого хотите аутентифицироваться. Если 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)
    
  3. 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...
    
  4. Перейдите по URL проверки https://github.com/login/device, если ваш браузер не открылся автоматически.

  5. Вставьте одноразовый код в поле на странице.

  6. Если ваша организация использует SAML SSO, нажмите Authorize рядом с каждой организацией, которой хотите предоставить access.

  7. Просмотрите запрошенные права и нажмите Авторизовать GitHub Copilot CLI.

  8. Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.

    Signed in successfully as Octocat. You can now use Copilot.
    

Проверка подлинности с помощью copilot login

  1. От терминала беги copilot login. Если вы используете GitHub Enterprise Cloud с Data Reside, передайте имя хоста вашего экземпляра.

    Bash
    copilot login
    

    Для GitHub Enterprise Cloud:

    Bash
    copilot login --host HOSTNAME
    

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

    To authenticate, visit https://github.com/login/device and enter code 1234-5678.
    
  2. Перейдите по URL проверки https://github.com/login/device, если ваш браузер не открылся автоматически.

  3. Вставьте одноразовый код в поле на странице.

  4. Если ваша организация использует SAML SSO, нажмите Authorize рядом с каждой организацией, которой хотите предоставить access.

  5. Просмотрите запрошенные права и нажмите Авторизовать GitHub Copilot CLI.

  6. Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.

    Signed in successfully as Octocat.
    

Аутентификация с помощью переменных окружения

Для неинтерактивных сред можно аутентифицировать, установив переменную среды с поддерживаемым токеном. Это идеально подходит для CI/CD pipelines, контейнеров или безголовых серверов.

  1. Посетите Fine-grained personal access tokens.
  2. В разделе «Разрешения» нажмите « Добавить разрешения » и выберите Copilot «Запросы».
  3. Щелкните Создать токен.
  4. Экспортируйте токен в конфигурации вашего терминала или среды. Используйте COPILOT_GITHUB_TOKENпеременную , GH_TOKENили GITHUB_TOKEN среду (в порядке приоритета).

Аутентификация с помощью GitHub CLI

Если вы установили GitHub CLI и аутентифицировались, Copilot CLI можете использовать его токен как запасной вариант. Этот метод имеет самый низкий приоритет и активируется только при отсутствии переменных окружающей среды и отсутствия сохранённого токена.

  1. Проверьте, что GitHub CLI аутентифицировано.

    Bash
    gh auth status
    

    Если вы используете GitHub Enterprise Cloud с data reside, проверьте, правильно ли аутентифицировано имя хоста.

    Bash
    gh auth status --hostname HOSTNAME
    
  2. Выполните copilot. Copilot CLI автоматически использует токен GitHub CLI.

  3. Проверьте /user ваш аутентифицированный аккаунт в CLI.

Переключение между учетными записями

          Copilot CLI Поддерживает несколько аккаунтов. Вы можете указать доступные аккаунты и переключаться между ними внутри CLI. Чтобы перечислить доступные аккаунты, забегайте `/user list` по запросу Copilot CLI . Чтобы переключиться на другой аккаунт, введите `/user switch` в подсказке.

Чтобы добавить ещё одну учётную запись, запустите copilot login с новой сессии терминала или выполните команду входа из CLI и авторизуйте с другой учётной записью.

Выход из системы и удаление учетных данных

Чтобы выйти из системы, введите /logout в подсказку Copilot CLI . Это удаляет локально хранящийся токен, но не отменяет его на GitHub.

Чтобы отменить авторизацию приложения OAuth и GitHub предотвратить его использование в других местах, следуйте следующим шагам.

  1. Перейдите в настройки > приложений > Авторизованные OAuth приложения.
  2. Перейдите на страницу настроек:
    1. В правом верхнем углу любой страницы на GitHub, нажмите на свою фотографию профиля.
    2. Нажмите кнопку "Параметры".
  3. В левой боковой панели нажмите «Приложения».
  4. В разделе Authorized OAuth Apps нажмите рядом с GitHub CLI чтобы расширить меню и выбрать Revoke.