Skip to main content

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

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

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

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

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

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

  •         **OAuth device flow**: Стандартный и рекомендуемый метод интерактивного использования. Когда вы запускаете `/login` Интерфейс командной строки Copilot, CLI генерирует одноразовый код и направляет вас на аутентификацию в браузере. Это самый простой способ аутентификации.
    
  •         **Переменные среды**: рекомендуется для CI/CD конвейеров, контейнеров и неинтерактивных сред. Вы устанавливаете поддерживаемый токен в виде переменной среды (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, или `GITHUB_TOKEN`), и CLI использует его автоматически без подсказки.
    
  •         **GitHub CLI запасной вариант**: Если у вас установлен и аутентифицирован GitHub CLI (`gh`) (примечание: `gh` CLI, а не `copilot`) , Интерфейс командной строки Copilot может автоматически использовать свой токен. Это метод с наименьшим приоритетом и активируется только при отсутствии других учетных данных.
    

После аутентификации Интерфейс командной строки Copilot запоминает ваш логин и автоматически использует токен для всех запросов API Copilot. Вы можете войти с несколькими аккаунтами, и CLI запомнит последний использованный аккаунт. Срок службы и истечение токена зависят от того, как токен был создан в настройках вашего аккаунта или организации.

Поддерживаемые типы токенов

Тип токенаПрефиксПоддерживаетсяПримечания.
OAuth токен (поток устройств)gho_ДаМетод по умолчанию через copilot login
Мелкозернистый PATgithub_pat_ДаНеобходимо включать необходимые разрешения. Запросы на второго пилота
GitHub App user-to-serverghu_ДаЧерез переменную среды
Классический PATghp_нетНе поддерживается Интерфейс командной строки Copilot

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

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

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

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

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

  1. переменная среды COPILOT_GITHUB_TOKEN
  2. переменная среды GH_TOKEN
  3. переменная среды GITHUB_TOKEN
  4. Токен OAuth из системного ключа
  5. Запасной вариант GitHub CLIgh auth token ()

Примечание.

Переменная среды бесшумно переопределяет сохранённый токен OAuth. Если выбрать GH_TOKEN другой инструмент, CLI использует этот токен вместо токена OAuth из copilot login. Чтобы избежать неожиданного поведения, отключите переменные среды, которые вы не планируете использовать в CLI.

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

Поток устройств OAuth является методом аутентификации по умолчанию для интерактивного использования. Вы можете аутентифицироваться, запуская /login данные с Интерфейс командной строки Copilot или copilot login с вашего терминала.

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

  1. Из Интерфейс командной строки Copilot запустить /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, нажмите «Авторизировать » рядом с каждой организацией, к которой хотите предоставить доступ.

  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 residecy, передайте имя хоста вашего экземпляра.

    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, нажмите «Авторизировать » рядом с каждой организацией, к которой хотите предоставить доступ.

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

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

    Signed in successfully as Octocat.
    

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

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

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

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

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

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

    Bash
    gh auth status
    

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

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

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

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

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

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

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

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

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

  1. Перейдите в настройки > приложений > Авторизованные OAuth приложения.
  2. Перейдите на страницу настроек:
    1. В правом верхнем углу любой страницы на GitHubщелкните рисунок профиля.
    2. Нажмите кнопку "Параметры".
  3. В левой боковой панели нажмите «Приложения».
  4.        **В разделе Authorized OAuth Apps** нажмите <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="kebab horizontal icon" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg> рядом с **GitHub CLI**, чтобы расширить меню и выбрать **Отменить**.