{"meta":{"title":"Аутентификация GitHub Copilot CLI","intro":"Аутентифицируйтесь Второй пилот CLI так, чтобы использовать Copilot его напрямую из командной строки.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/how-tos","title":"Инструкции"},{"href":"/ru/copilot/how-tos/copilot-cli","title":"Второй пилот CLI"},{"href":"/ru/copilot/how-tos/copilot-cli/set-up-copilot-cli","title":"Создание Copilot CLI"},{"href":"/ru/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli","title":"Authenticate Copilot CLI"}],"documentType":"article"},"body":"# Аутентификация GitHub Copilot CLI\n\nАутентифицируйтесь Второй пилот CLI так, чтобы использовать Copilot его напрямую из командной строки.\n\n## Сведения о проверке подлинности\n\nЕсли вы используете собственные API ключи провайдера LLM (BYOK), GitHub аутентификация не требуется.\n\nДля любого другого GitHub Copilot CLI использования требуется аутентификация.\n\nКогда требуется аутентификация, Второй пилот CLI поддерживается три метода. Метод зависит от того, работаете ли вы интерактивно или в автоматизированной среде.\n\n* **OAuth device flow**: Стандартный и рекомендуемый метод интерактивного использования. Когда вы запускаете `/login`Второй пилот CLI, CLI генерирует одноразовый код и направляет вас на аутентификацию в браузере. Это самый простой способ аутентификации. См. [Аутентификация с помощью OAuth](#authenticating-with-oauth).\n* **переменные среды**: Рекомендуется для CI/CD pipelines, контейнеров и неинтерактивных сред. Вы устанавливаете поддерживаемый токен в виде переменной среды (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, или `GITHUB_TOKEN`), и CLI использует его автоматически без подсказки. См. [Аутентификация с помощью переменных среды](#authenticating-with-environment-variables).\n* **\n              GitHub CLI Запасной** вариант: если у вас установлен GitHub CLI (`gh`) (примечание: `gh` CLI, а не `copilot`) аутентифицирован, Второй пилот CLI можно использовать его токен автоматически. Это метод с наименьшим приоритетом и активируется только при отсутствии других учетных данных. См. [Аутентификация с GitHub CLI](#authenticating-with-github-cli).\n\nПосле аутентификации Второй пилот CLI он запоминает ваш логин и автоматически использует токен для всех Copilot запросов API. Вы можете войти с несколькими аккаунтами, и CLI запомнит последний использованный аккаунт. Срок службы и истечение токена зависят от того, как токен был создан в настройках вашего аккаунта или организации.\n\n## Неаутентифицированное использование\n\nЕсли вы настроите Второй пилот CLI на использование собственных API-ключей провайдера LLM (BYOK), GitHub аутентификация **не требуется**. \n              Второй пилот CLI Можно подключиться напрямую к вашему назначенному провайдеру без GitHub аккаунта или токена.\n\nОднако без GitHub аутентификации следующие функции **недоступны**:\n\n* `/delegate`: Требуется Copilot облачный агент, который работает на GitHubсерверах '\n* GitHub MCP-сервер: требуется аутентификация для доступа GitHub к API\n* GitHub Поиск по коду: требуется аутентификация для GitHubзапроса индекса поиска\n\nВы можете объединить BYOK с GitHub аутентификацией, чтобы получить максимум из обоих: предпочитаемой модели для ответов ИИ, а также доступ к GitHubфункциям -хостинга, таким `/delegate` как поиск по коду.\n\n### почтовые ящики в автономном режиме.\n\n Если выставить `COPILOT_OFFLINE` переменную среды в `true`, Второй пилот CLI запускается без контакта GitHubс серверами . В офлайн-режиме:\n\n* GitHub Аутентификация не пытается.\n* CLI отправляет сетевые запросы только к вашему настроенному провайдеру BYOK.\n* Телеметрия полностью отключена.\n\nОфлайн-режим **полностью отключён только** в том случае, если ваш провайдер BYOK локально или находится в одной и той же изолированной среде (например, модель, запущенная локально без доступа к внешней сети). Если `COPILOT_PROVIDER_BASE_URL` он указывает на удалённую или доступную в Интернет конечную точку, запросы и контекст кода всё равно будут отправляться по сети этому провайдеру. Без офлайн-режима, даже при использовании BYOK без GitHub аутентификации, телеметрия всё равно отправляется нормально.\n\n### Поддерживаемые типы токенов\n\n| Тип токена                 | Префикс        | Поддерживается | Примечания.                                                  |\n|----------------------------|---------------|-----------|--------------------------------------------------------|\n| OAuth токен (поток устройств)  | `gho_`        | Да       | Метод по умолчанию через `copilot login`                     |\n| Мелкозернистый PAT           | `github_pat_` | Да       | Должны быть указаны необходимые права **Copilot Запросы** |\n| GitHub Приложение user-to-server  | `ghu_`        | Да       | Через переменную среды                               |\n| Классический PAT                | `ghp_`        | нет        | Не поддерживается Второй пилот CLI |\n\n### Как Copilot CLI хранит учетные данные\n\nПо умолчанию CLI хранит ваш OAuth токен в ключевом наборе операционной системы под именем `copilot-cli`сервиса:\n\n| Platform | Брелок |\n|---|---|\n| macOS | Доступ с брелками |\n| Windows | Менеджер учетных данных |\n| Линукс | libsecret (GNOME Keyring, KWallet) |\n\nЕсли системный ключ недоступен — например, на безголовом сервере Linux без `libsecret` установленного — CLI предлагает сохранить токен в открытом конфигурационном файле по адресу `~/.copilot/config.json`.\n\nПри запуске команды Второй пилот CLI проверяет учетные данные в следующем порядке:\n\n1. переменная среды `COPILOT_GITHUB_TOKEN`\n1. переменная среды `GH_TOKEN`\n1. переменная среды `GITHUB_TOKEN`\n1. Токен OAuth из системного ключа\n1. GitHub Запасной вариант CLI (`gh auth token`)\n\n> [!NOTE]\n> * Переменная среды бесшумно переопределяет сохранённый токен OAuth. Если выбрать `GH_TOKEN` другой инструмент, CLI использует этот токен вместо токена OAuth из `copilot login`. Чтобы избежать неожиданного поведения, отключите переменные среды, которые вы не планируете использовать в CLI.\n> * Когда вы настраиваете переменные среды провайдера BYOK (например, `COPILOT_PROVIDER_BASE_URL`, `COPILOT_PROVIDER_API_KEY`), Второй пилот CLI вы используете их для запросов модели ИИ независимо от статуса GitHub вашей аутентификации. \n              GitHub Токены нужны только для GitHub-hosted функций.\n\n## Аутентификация с помощью OAuth\n\nПоток устройств OAuth является методом аутентификации по умолчанию для интерактивного использования. Вы можете аутентифицироваться, бегая `/login` от Второй пилот CLI терминала или `copilot login` от него.\n\n### Проверка подлинности с помощью `/login`\n\n1. От , беги Второй пилот CLI`/login`.\n\n   ```bash copy\n   /login\n   ```\n\n1. Выберите аккаунт, с которого хотите аутентифицироваться. Если GitHub Enterprise Cloud при data residecy введите имя хоста вашего экземпляра\n\n   ```text\n   What account do you want to log into?\n    1. GitHub.com\n    2. GitHub Enterprise Cloud with data residency (*.ghe.com)\n   ```\n\n1. CLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.\n\n   ```text\n   Waiting for authorization...\n   Enter one-time code: 1234-5678 at https://github.com/login/device\n   Press any key to copy to clipboard and open browser...\n   ```\n\n1. Перейдите по URL проверки `https://github.com/login/device`, если ваш браузер не открылся автоматически.\n1. Вставьте одноразовый код в поле на странице.\n1. Если ваша организация использует SAML SSO, нажмите **Authorize** рядом с каждой организацией, которой хотите предоставить access.\n1. Просмотрите запрошенные права и нажмите **Авторизовать GitHub Copilot CLI**.\n1. Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.\n\n   ```text\n   Signed in successfully as Octocat. You can now use Copilot.\n   ```\n\n### Проверка подлинности с помощью `copilot login`\n\n1. От терминала беги `copilot login`. Если вы используете GitHub Enterprise Cloud с Data Reside, передайте имя хоста вашего экземпляра.\n\n   ```bash copy\n   copilot login\n   ```\n\n   Для GitHub Enterprise Cloud:\n\n   ```bash copy\n   copilot login --host HOSTNAME\n   ```\n\n   CLI отображает одноразовый пользовательский код, автоматически копирует его в ваш буфер обмена и открывает браузер.\n\n   ```text\n   To authenticate, visit https://github.com/login/device and enter code 1234-5678.\n   ```\n\n1. Перейдите по URL проверки `https://github.com/login/device`, если ваш браузер не открылся автоматически.\n1. Вставьте одноразовый код в поле на странице.\n1. Если ваша организация использует SAML SSO, нажмите **Authorize** рядом с каждой организацией, которой хотите предоставить access.\n1. Просмотрите запрошенные права и нажмите **Авторизовать GitHub Copilot CLI**.\n1. Вернись в свой терминал. CLI отображает сообщение о успехе после завершения аутентификации.\n\n   ```text\n   Signed in successfully as Octocat.\n   ```\n\n## Аутентификация с помощью переменных окружения\n\nДля неинтерактивных сред можно аутентифицировать, установив переменную среды с поддерживаемым токеном. Это идеально подходит для CI/CD pipelines, контейнеров или безголовых серверов.\n\n1. Посетите [Fine-grained personal access tokens](https://github.com/settings/personal-access-tokens/new).\n1. В разделе «Разрешения» нажмите « **Добавить разрешения** » и выберите **Copilot «Запросы**».\n1. Щелкните **Создать токен**.\n1. Экспортируйте токен в конфигурации вашего терминала или среды. Используйте `COPILOT_GITHUB_TOKEN`переменную , `GH_TOKEN`или `GITHUB_TOKEN` среду (в порядке приоритета).\n\n## Аутентификация с помощью GitHub CLI\n\nЕсли вы установили GitHub CLI и аутентифицировались, Второй пилот CLI можете использовать его токен как запасной вариант. Этот метод имеет самый низкий приоритет и активируется только при отсутствии переменных окружающей среды и отсутствия сохранённого токена.\n\n1. Проверьте, что GitHub CLI аутентифицировано.\n\n    ```bash copy\n    gh auth status\n    ```\n\n    Если вы используете GitHub Enterprise Cloud с data reside, проверьте, правильно ли аутентифицировано имя хоста.\n\n    ```bash copy\n    gh auth status --hostname HOSTNAME\n    ```\n\n1. Выполните `copilot`. Copilot CLI автоматически использует токен GitHub CLI.\n1. Проверьте `/user` ваш аутентифицированный аккаунт в CLI.\n\n## Переключение между учетными записями\n\n              Второй пилот CLI Поддерживает несколько аккаунтов. Вы можете указать доступные аккаунты и переключаться между ними внутри CLI. Чтобы перечислить доступные аккаунты, забегайте `/user list` по запросу Второй пилот CLI . Чтобы переключиться на другой аккаунт, введите `/user switch` в подсказке.\n\nЧтобы добавить ещё одну учётную запись, запустите `copilot login` с новой сессии терминала или выполните команду входа из CLI и авторизуйте с другой учётной записью.\n\n## Выход из системы и удаление учетных данных\n\nЧтобы выйти из системы, введите `/logout` в подсказку Второй пилот CLI . Это удаляет локально хранящийся токен, но не отменяет его на GitHub.\n\nЧтобы отменить авторизацию приложения OAuth и GitHub предотвратить его использование в других местах, следуйте следующим шагам.\n\n1. Перейдите в **настройки** > **приложений** > **Авторизованные OAuth приложения**.\n1. Перейдите на страницу настроек:\n   1. В правом верхнем углу любой страницы на GitHub, нажмите на свою фотографию профиля. \n   1. Нажмите кнопку **\"Параметры**\".\n1. В левой боковой панели нажмите **«Приложения».**\n1. В разделе **Authorized OAuth Apps** нажмите <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"The horizontal kebab 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** чтобы расширить меню и выбрать **Revoke**."}