{"meta":{"title":"Аутентификация GitHub Copilot CLI","intro":"Аутентифицируйтесь Copilot 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":"Copilot 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":"Аутентифицировать Copilot CLI"}],"documentType":"article"},"body":"# Аутентификация GitHub Copilot CLI\n\nАутентифицируйтесь Copilot CLI так, чтобы использовать Copilot его напрямую из командной строки.\n\n## Сведения о проверке подлинности\n\nЕсли вы используете собственные API ключи провайдера LLM (BYOK), GitHub аутентификация не требуется.\n\nДля любого другого GitHub Copilot CLI использования требуется аутентификация.\n\nКогда требуется аутентификация, Copilot CLI поддерживается три метода. Метод зависит от того, работаете ли вы интерактивно или в автоматизированной среде.\n\n* **OAuth device flow**: Стандартный и рекомендуемый метод интерактивного использования. Когда вы запускаете `/login`Copilot CLI, CLI генерирует одноразовый код и направляет вас на аутентификацию в браузере. Это самый простой способ аутентификации. См. [Аутентификация с помощью OAuth](#authenticating-with-oauth).\n* **переменные среды**: Рекомендуется для CI/CD pipelines, контейнеров и неинтерактивных сред. Вы устанавливаете поддерживаемый токен в виде переменной среды (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, или `GITHUB_TOKEN`), и CLI использует его автоматически без подсказки. См. [Аутентификация с помощью переменных среды](#authenticating-with-environment-variables).\n* **GitHub CLI Запасной** вариант: если у вас установлен GitHub CLI (`gh`) (примечание: `gh` CLI, а не `copilot`) аутентифицирован, Copilot CLI можно использовать его токен автоматически. Это метод с наименьшим приоритетом и активируется только при отсутствии других учетных данных. См. [Аутентификация с GitHub CLI](#authenticating-with-github-cli).\n\nПосле аутентификации Copilot CLI он запоминает ваш логин и автоматически использует токен для всех Copilot запросов API. Вы можете войти с несколькими аккаунтами, и CLI запомнит последний использованный аккаунт. Срок службы и истечение токена зависят от того, как токен был создан в настройках вашего аккаунта или организации.\n\n## Неаутентифицированное использование\n\nЕсли вы настроите Copilot CLI на использование собственных API-ключей провайдера LLM (BYOK), GitHub аутентификация **не требуется**.\nCopilot CLI Можно подключиться напрямую к вашему назначенному провайдеру без GitHub аккаунта или токена.\n\nОднако без GitHub аутентификации следующие функции **недоступны**:\n\n* `/delegate`: Требуется Copilot cloud agent, который работает на GitHubсерверах '\n* GitHub MCP-сервер: требуется аутентификация для доступа GitHub к API\n* GitHub Поиск по коду: требуется аутентификация для GitHubзапроса индекса поиска\n\nВы можете объединить BYOK с GitHub аутентификацией, чтобы получить максимум из обоих: предпочитаемой модели для ответов ИИ, а также доступ к GitHubфункциям -хостинга, таким `/delegate` как поиск по коду.\n\n### почтовые ящики в автономном режиме.\n\nЕсли выставить `COPILOT_OFFLINE` переменную среды в `true`, Copilot 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_`        | нет            | Не поддерживается Copilot 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При запуске команды Copilot CLI проверяет учетные данные в следующем порядке:\n\n1. переменная среды `COPILOT_GITHUB_TOKEN`\n2. переменная среды `GH_TOKEN`\n3. переменная среды `GITHUB_TOKEN`\n4. Токен OAuth из системного ключа\n5. GitHub Запасной вариант CLI (`gh auth token`)\n\n> \\[!NOTE]\n>\n> * Переменная среды бесшумно переопределяет сохранённый токен OAuth. Если выбрать `GH_TOKEN` другой инструмент, CLI использует этот токен вместо токена OAuth из `copilot login`. Чтобы избежать неожиданного поведения, отключите переменные среды, которые вы не планируете использовать в CLI.\n> * Когда вы настраиваете переменные среды провайдера BYOK (например, `COPILOT_PROVIDER_BASE_URL`, `COPILOT_PROVIDER_API_KEY`), Copilot CLI вы используете их для запросов модели ИИ независимо от статуса GitHub вашей аутентификации.\n>   GitHub Токены нужны только для GitHub-hosted функций.\n\n## Аутентификация с помощью OAuth\n\nПоток устройств OAuth является методом аутентификации по умолчанию для интерактивного использования. Вы можете аутентифицироваться, бегая `/login` от Copilot CLI терминала или `copilot login` от него.\n\n### Проверка подлинности с помощью `/login`\n\n1. От , беги Copilot CLI`/login`.\n\n   ```bash copy\n   /login\n   ```\n\n2. Выберите аккаунт, с которого хотите аутентифицироваться. Если 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\n3. 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\n4. Перейдите по URL проверки `https://github.com/login/device`, если ваш браузер не открылся автоматически.\n\n5. Вставьте одноразовый код в поле на странице.\n\n6. Если ваша организация использует SAML SSO, нажмите **Authorize** рядом с каждой организацией, которой хотите предоставить access.\n\n7. Просмотрите запрошенные права и нажмите **Авторизовать GitHub Copilot CLI**.\n\n8. Вернись в свой терминал. 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\n2. Перейдите по URL проверки `https://github.com/login/device`, если ваш браузер не открылся автоматически.\n\n3. Вставьте одноразовый код в поле на странице.\n\n4. Если ваша организация использует SAML SSO, нажмите **Authorize** рядом с каждой организацией, которой хотите предоставить access.\n\n5. Просмотрите запрошенные права и нажмите **Авторизовать GitHub Copilot CLI**.\n\n6. Вернись в свой терминал. 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).\n2. В **разделе «Владелец ресурса**» выберите **свой личный аккаунт**. Не выбирайте организацию. Разрешение на запросы доступно только на пользовательских Copilotустройствах\\*\\*\\*\\*.\n3. В разделе « **Доступ к хранилищу**» выберите подходящий уровень доступа для вашего случая использования:\n   * **Публичные репозитории** , если вам нужно работать только с публичными репозиториями.\n   * **Все репозитории** , если нужен доступ ко всем текущим и будущим репозиториям.\n   * **Выбирайте репозитории только** если хотите ограничить доступ к конкретным репозиториям.\n4. В **разделе «Разрешения**» выберите **вкладку «Аккаунт** ».\n5. Нажмите **«Добавить права** » и выберите **Copilot «Запросы**».\n6. Щелкните **Создать токен**.\n7. Экспортируйте токен в конфигурации вашего терминала или среды. Используйте `COPILOT_GITHUB_TOKEN`переменную , `GH_TOKEN`или `GITHUB_TOKEN` среду (в порядке приоритета).\n\n## Аутентификация с помощью GitHub CLI\n\nЕсли вы установили GitHub CLI и аутентифицировались, Copilot 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\n2. Выполните `copilot`. Copilot CLI автоматически использует токен GitHub CLI.\n\n3. Проверьте `/user` ваш аутентифицированный аккаунт в CLI.\n\n## Переключение между учетными записями\n\nCopilot CLI Поддерживает несколько аккаунтов. Вы можете указать доступные аккаунты и переключаться между ними внутри CLI.\nЧтобы перечислить доступные аккаунты, забегайте `/user list` по запросу Copilot CLI .\nЧтобы переключиться на другой аккаунт, введите `/user switch` в подсказке.\n\nЧтобы добавить ещё одну учётную запись, запустите `copilot login` с новой сессии терминала или выполните команду входа из CLI и авторизуйте с другой учётной записью.\n\n## Выход из системы и удаление учетных данных\n\nЧтобы выйти из системы, введите `/logout` в подсказку Copilot CLI . Это удаляет локально хранящийся токен, но не отменяет его на GitHub.\n\nЧтобы отменить авторизацию приложения OAuth и GitHub предотвратить его использование в других местах, следуйте следующим шагам.\n\n1. Перейдите в **настройки** > **приложений** > **Авторизованные OAuth приложения**.\n2. Перейдите на страницу настроек:\n   1. В правом верхнем углу любой страницы на GitHub, нажмите на свою фотографию профиля.\n   2. Нажмите кнопку **\"Параметры**\".\n3. В левой боковой панели нажмите **«Приложения».**\n4. В разделе **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**.\n\n## Дальнейшие действия\n\nЕсли возникнут проблемы с аутентификацией, смотрите [Устранение неполадок аутентификации GitHub Copilot CLI](/ru/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth)."}