Гид по технологиям

Personal Access Tokens (PAT) для GitHub

6 min read GIT Обновлено 01 Dec 2025
PAT для GitHub: создать и настроить
PAT для GitHub: создать и настроить

Логотип GitHub.

Что такое Personal Access Token

Personal Access Token (PAT) — это альтернативный, управляемый ключ доступа для работы с GitHub по HTTPS и для вызовов API. По сути это «второй пароль», но с гибкими правами доступа и сроком действия. PAT безопаснее обычного пароля и проще отозвать при необходимости.

Ключевые моменты:

  • PAT заменяет ваш аккаунтный пароль при операциях git по HTTPS.
  • PAT можно ограничить набором прав (scopes) и сроком жизни.
  • PAT удобен для локальных машин и CI, но его нужно хранить в защищённом месте.

Почему это произошло

GitHub прекратил поддержку аутентификации паролем по HTTPS 13 августа 2021 года. Если вы пытаетесь выполнить push/pull и вводите старый пароль, Git выдаст ошибку:

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

Поэтому переход на PAT обязателен для всех, кто использует HTTPS для доступа к репозиториям.

Как создать Personal Access Token на GitHub

  1. Откройте настройки аккаунта на GitHub.
  2. В меню слева найдите раздел «Developer settings» и откройте «Personal access tokens».

Страница настроек Personal Access Tokens в GitHub

  1. Нажмите кнопку создания нового токена.
  2. Подтвердите пароль аккаунта.
  3. Дайте токену понятное имя и выберите срок действия. По умолчанию это 30 дней; вы можете увеличить срок или выбрать «без срока», но тогда безопасность снижается.

Создание токена: имя и срок действия

  1. Выберите scopes — права доступа для токена. Если вам нужен только доступ к репозиториям для push/pull, включите scope repo.

Выбор прав доступа (scopes) для токена

7.После создания GitHub покажет сам токен один раз. Скопируйте его и сохраните в безопасном менеджере паролей.

Пример токена (формат):

ghp_cgq4ZrHmFu0lLPl7ajKAwgMPnT5zhF00000

Важно: GitHub покажет токен только один раз на момент генерации. Если потеряете — придётся создать новый.

Как перейти на PAT в локальном окружении

Если учётные данные не кешируются, просто введите PAT вместо пароля при следующем push/pull. Если же используется старый кеш, нужно его удалить или обновить.

Windows (Git for Windows, не WSL)

  1. Откройте «Manage Windows Credentials» через Панель управления или меню Пуск.
  2. Найдите запись для git:https://github.com.
  3. Измените пароль на новый PAT или удалите запись, чтобы Git запросил ввод при следующем обращении.

Важно: если вы используете GUI-менеджеры учётных данных (Credential Manager), удаляйте именно записи, связанные с github.com.

macOS (Keychain Access)

  1. Запустите приложение «Keychain Access».
  2. В поле поиска введите github.com.
  3. Найдите «internet password» для вашего аккаунта и обновите его значением PAT или удалите запись.

Linux / WSL

Удалите или сбросьте helper учётных данных:

git config --local --unset credential.helper
git config --global --unset credential.helper

После удаления кеша при следующем push/pull Git запросит ваш логин и PAT.

Чтобы кешировать PAT на более длительный срок, используйте:

git config --global credential.helper 'cache --timeout=86400'

Или сохранение «навсегда» в плейнтексте (только если вы понимаете риски):

git config credential.helper store

Файл с сохранёнными учётными данными по умолчанию называется ~/.github-credentials или ~/.git-credentials. При использовании хранителя в плейнтексте удалите старую строку с устаревшим паролем вручную.

Альтернативный подход: SSH-ключи

SSH-ключи дают аутентификацию, привязанную к машине, и не передают секреты по сети. Короткая сводка:

  • SSH лучше для компьютеров, которые вы контролируете (личный ноутбук, CI с защищённым доступом).
  • PAT удобнее для интеграций, где нужен гибкий набор прав или короткий срок жизни.
  • SSH-ключи не годятся, если нужно дать ограничённый доступ к API GitHub.

Решение: используйте SSH для постоянной работы с репозиторием и PAT для CI/CD и скриптов, которым нужны только определённые права.

Таблица сравнения: SSH vs PAT

КритерийSSHPAT
ПривязкаК машинеК аккаунту / интеграции
ОтзывУдаление публичного ключаОтзыв токена на GitHub
Гибкость правОграниченаПоддерживает scopes
Удобство CIТребует защищённого ключаЛегко интегрируется

Когда PAT не подходит

  • Если вы работаете в среде с ограниченными требованиями к управлению ключами и предпочитаете централизованную авторизацию.
  • Если ваша политика безопасности запрещает хранить токены на машинах — используйте SSH с hardware-backed ключами.

Рекомендации по безопасности и харднинг

  • Храните PAT в менеджере паролей (Bitwarden, 1Password, macOS Keychain, Windows Credential Manager).
  • Да, выбирайте минимально необходимые scopes.
  • Задайте разумный срок действия — 30–180 дней в зависимости от риска.
  • Регулярно пересматривайте и отзывайте неиспользуемые токены.
  • Для CI используйте возможности секретного хранилища системы (GitHub Actions Secrets, GitLab CI variables) вместо хранения токена в репозитории.

Плейбук команды: как внедрить PAT у разработчиков

  1. Проинструктируйте команду: объясните причины и покажите шаги создания PAT.
  2. Подготовьте краткую инструкцию с командами для Windows/macOS/Linux.
  3. Обновите CI конфигурации, заменив старые пароли на секреты с PAT.
  4. Через 30–90 дней запланируйте ревью токенов и ротацию.

Чек-листы по ролям

  • Для разработчика:

    • Создать PAT с scope repo.
    • Сохранить в менеджере паролей.
    • Обновить локальный Keychain/Credential Manager.
  • Для владельца репозитория / администратора:

    • Настроить политику ротации токенов.
    • Обеспечить инструкции для CI.
  • Для CI-инженера:

    • Создать отдельный токен с минимумом прав.
    • Поместить токен в секреты CI (не в код).

Шпаргалка команд

  • Сброс локального helper для одного репозитория:
git config --local --unset credential.helper
  • Сброс глобального helper:
git config --global --unset credential.helper
  • Включить кеш на 24 часа:
git config --global credential.helper 'cache --timeout=86400'
  • Хранить креденшелы постоянно (плейсхолдер, хранение в плейнтексте):
git config credential.helper store

Контрольные случаи и тесты приёмки

  • После удаления старых учётных записей в менеджере паролей выполните git pull — Git должен запросить логин и новый PAT.
  • Убедитесь, что CI успешно выполняет операции с новым секретом.
  • Проверьте, что отозванные токены больше не работают.

Быстрый словарь (1 строка)

  • PAT — Personal Access Token, заменяет пароль для операций Git по HTTPS.
  • Scope — набор прав, которые предоставляет токен.
  • Credential helper — модуль Git, который кеширует учётные данные.

Факт-бокс

  • Дата отключения паролей по HTTPS: 13 августа 2021 года.
  • Рекомендуемая ротация токенов: каждые 30–180 дней.

Важно: никогда не коммитьте токены в репозиторий. Если токен случайно попал в публичный репозиторий, немедленно отзовите его на GitHub и создайте новый.

Краткое резюме

  • GitHub перестал принимать пароли по HTTPS; используйте PAT или SSH.
  • Создайте PAT в настройках аккаунта, выберите scope и срок жизни, сохраните токен в безопасном хранилище.
  • Обновите менеджеры учётных данных на Windows/macOS/Linux и конфигурации CI.

Примечание: если что-то не работает, сначала очистите кеш учётных данных, затем попробуйте снова.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Обнаруживаемо другими в iOS: что это и как отключить
Конфиденциальность

Обнаруживаемо другими в iOS: что это и как отключить

Как бесплатно разместить fan-gate Facebook на Heroku
Веб-разработка

Как бесплатно разместить fan-gate Facebook на Heroku

Twitch PiP: как включить и смотреть
Руководство

Twitch PiP: как включить и смотреть

CSGO и высокая загрузка CPU — что делать
Игры

CSGO и высокая загрузка CPU — что делать

CS:GO не подключается к серверам — как исправить
Техподдержка игр

CS:GO не подключается к серверам — как исправить

Как начать продавать на Amazon — 12 ресурсов
Электронная коммерция

Как начать продавать на Amazon — 12 ресурсов