Personal Access Tokens (PAT) для 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
- Откройте настройки аккаунта на GitHub.
- В меню слева найдите раздел «Developer settings» и откройте «Personal access tokens».

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

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

7.После создания GitHub покажет сам токен один раз. Скопируйте его и сохраните в безопасном менеджере паролей.
Пример токена (формат):
ghp_cgq4ZrHmFu0lLPl7ajKAwgMPnT5zhF00000Важно: GitHub покажет токен только один раз на момент генерации. Если потеряете — придётся создать новый.
Как перейти на PAT в локальном окружении
Если учётные данные не кешируются, просто введите PAT вместо пароля при следующем push/pull. Если же используется старый кеш, нужно его удалить или обновить.
Windows (Git for Windows, не WSL)
- Откройте «Manage Windows Credentials» через Панель управления или меню Пуск.
- Найдите запись для
git:https://github.com. - Измените пароль на новый PAT или удалите запись, чтобы Git запросил ввод при следующем обращении.
Важно: если вы используете GUI-менеджеры учётных данных (Credential Manager), удаляйте именно записи, связанные с github.com.
macOS (Keychain Access)
- Запустите приложение «Keychain Access».
- В поле поиска введите
github.com. - Найдите «internet password» для вашего аккаунта и обновите его значением PAT или удалите запись.
Linux / WSL
Удалите или сбросьте helper учётных данных:
git config --local --unset credential.helpergit 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
| Критерий | SSH | PAT |
|---|---|---|
| Привязка | К машине | К аккаунту / интеграции |
| Отзыв | Удаление публичного ключа | Отзыв токена на 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 у разработчиков
- Проинструктируйте команду: объясните причины и покажите шаги создания PAT.
- Подготовьте краткую инструкцию с командами для Windows/macOS/Linux.
- Обновите CI конфигурации, заменив старые пароли на секреты с PAT.
- Через 30–90 дней запланируйте ревью токенов и ротацию.
Чек-листы по ролям
Для разработчика:
- Создать PAT с scope
repo. - Сохранить в менеджере паролей.
- Обновить локальный Keychain/Credential Manager.
- Создать PAT с scope
Для владельца репозитория / администратора:
- Настроить политику ротации токенов.
- Обеспечить инструкции для 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.
Примечание: если что-то не работает, сначала очистите кеш учётных данных, затем попробуйте снова.
Похожие материалы
Обнаруживаемо другими в iOS: что это и как отключить
Как бесплатно разместить fan-gate Facebook на Heroku
Twitch PiP: как включить и смотреть
CSGO и высокая загрузка CPU — что делать
CS:GO не подключается к серверам — как исправить