GitHub позволяет работать с репозиториями через SSH — это безопаснее и удобнее, чем HTTPS. Особенно полезно при регулярных git push и git pull: не нужно каждый раз вводить логин и пароль. Ниже — настройка на Windows, Linux и macOS.
Шаг 1: Подготовка папки .ssh и проверка наличия SSH-ключей
Для Linux / macOS
mkdir -p ~/.ssh chmod 700 ~/.ssh cd ~/.ssh
Для Windows
Откройте Командную строку или PowerShell и выполните:
mkdir .ssh cd .ssh dir
Шаг 2: Создание SSH-ключа
ssh-keygen -t rsa -b 4096 -C "ваш_email@example.com"
После запуска команда задаст несколько вопросов:
Enter file in which to save the key (.../.ssh/id_rsa):— путь к файлу, где будет сохранён приватный ключ; если просто нажатьEnter, он сохранится по умолчанию в~/.ssh/id_rsa.Enter passphrase (empty for no passphrase):— дополнительный пароль к ключу: при его установке даже в случае кражи файла ключа им нельзя будет воспользоваться без этого пароля, а если оставить поле пустым и просто нажатьEnter, ключ создастся без дополнительного пароля (удобнее, но менее безопасно).Enter same passphrase again:— повтор ввёденного пароля для подтверждения (или сноваEnter, если оставили предыдущее поле пустым).
В результате в папке ~/.ssh появятся файлы вроде id_rsa (приватный ключ, никому не показывать) и id_rsa.pub (публичный ключ, его как раз нужно добавить в GitHub).
Шаг 3: Запуск SSH-агента и добавление ключа
SSH-агент позволяет не вводить passphrase (если вы его задали) и не подгружать ключ вручную при каждом использовании Git. Если вы создали ключ без дополнительного пароля, этот шаг обычно можно пропустить — Git сможет использовать ключ и без запущенного агента.
Linux / macOS
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
Если ключ в другом файле — укажите его вместо id_rsa.
Windows (PowerShell, встроенный OpenSSH)
В PowerShell можно запустить/включить сервис агента и добавить ключ так:
Get-Service ssh-agent | Set-Service -StartupType Automatic Start-Service ssh-agent ssh-add $env:USERPROFILE\.ssh\id_rsa
Если файл ключа называется иначе — подставьте своё имя файла вместо id_rsa.
Шаг 4: Добавление ключа на GitHub
Для Linux / macOS
cat ~/.ssh/id_rsa.pub
Для Windows
notepad id_rsa.pub
Дальше:
1. Откройте GitHub → Settings → SSH and GPG keys

2. Нажмите New SSH key
3. Укажите имя (например: «мой ноутбук» или «мой сайт site.ru»)

4. Вставьте содержимое ключа и сохраните
Шаг 5: Проверка подключения
ssh -T git@github.com
Успешный ответ выглядит так:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
Если вы видите это сообщение, SSH‑подключение к GitHub настроено корректно — можно использовать SSH‑URL репозиториев вида git@github.com:username/repository.git для git clone, git pull и git push.

Возможные ошибки
Permission denied (publickey) — ключ не добавлен в агент или не загружен на GitHub. Проверьте: ssh-add -l
Could not load SSH key — агент не запущен или ключ не добавлен. Повторите ssh-add ~/.ssh/id_rsa
Host key verification failed — добавьте GitHub в доверенные хосты:
ssh-keyscan github.com >> ~/.ssh/known_hosts
Заключение
После настройки SSH вы получаете защищённое соединение с GitHub, доступ без ввода логина и пароля и более удобную работу с автоматизацией и CI/CD. Если вы только начинаете знакомство с Git и GitHub, настройка SSH — отличный старт для уверенной и безопасной работы с репозиториями.
