раздел 04

Аккаунт и доступ

Чтобы пушить код, нужен аккаунт и настроенная аутентификация. Простой пароль для push больше не работает - GitHub требует токен или SSH-ключ.

Регистрация

Заводится на github.com: почта, имя пользователя, пароль. Имя пользователя станет частью адресов ваших репозиториев и публичного профиля, так что лучше выбрать аккуратное. Бесплатного плана хватает и для частных, и для публичных репозиториев.

Два способа аутентификации

HTTPS + токен
Адрес репозитория начинается с https. Вместо пароля используется Personal Access Token. Проще для старта.
SSH-ключ
Адрес начинается с git@. Аутентификация по паре ключей, без ввода токена каждый раз. Удобнее на постоянку.

HTTPS и Personal Access Token

При работе по HTTPS вместо пароля GitHub просит Personal Access Token. Создаётся в Settings -> Developer settings -> Personal access tokens. Токену задают срок жизни и права, после чего его вставляют вместо пароля при push. Показывается он один раз - сохраните сразу.

SSH-ключ

SSH-ключ - пара из приватного и публичного ключа. Приватный остаётся у вас, публичный добавляется на GitHub. После настройки push и pull работают без ввода токена.

# сгенерировать ключ
ssh-keygen -t ed25519 -C "your@email.com"

# показать публичный ключ, чтобы скопировать
cat ~/.ssh/id_ed25519.pub

Скопированный публичный ключ добавляется в Settings -> SSH and GPG keys -> New SSH key. Приватный ключ (id_ed25519 без .pub) никому не передавайте.

1
Сгенерировать ключ
ssh-keygen -t ed25519 создаёт пару ключей в папке ~/.ssh.
2
Скопировать публичный
Содержимое файла с расширением .pub - это та часть, что уходит на GitHub.
3
Добавить на GitHub
В разделе Settings, пункт SSH and GPG keys, New SSH key - вставить ключ.
4
Использовать SSH-адрес
Клонировать и пушить по адресу вида git@github.com:username/repo.git.

Двухфакторная аутентификация

2FA - второй фактор входа кроме пароля: код из приложения-аутентификатора или ключ. GitHub требует её для всех, кто пушит код. Включается в Settings -> Password and authentication. Защищает аккаунт, даже если пароль утёк.

Нюанс для России

GitHub открывается из России без VPN, кодом и репозиториями можно пользоваться свободно. Сложности начинаются с деньгами: оплата платных планов и подписки на Copilot затруднена - российские карты не проходят. Как это обходят, разобрано отдельно - Оплата зарубежных сервисов.