Подключение к GitHub по SSH: пошаговая инструкция

Работа с репозиториями через SSH удобнее и безопаснее, чем по HTTPS — вам не нужно вводить пароль при каждом пуше, а авторизация выполняется с помощью криптографических ключей. Разберём процесс полностью: от создания ключа до проверки подключения.

Создание SSH-ключа

На MacOS или Linux откройте терминал.
На Windows можно воспользоваться Git Bash.

Выполните команду:

  • -t ed25519 — современный алгоритм, короче и надёжнее RSA.
  • -a 100 — увеличивает сложность подбора пароля (если ключ будет украден).
  • -f ~/.ssh/id_ed25519 — имя файла (по умолчанию id_ed25519).

Система спросит путь для сохранения и парольную фразу (passphrase). Нажмите Enter, чтобы оставить стандартные настройки.

В результате будут созданы два файла:

  • ~/.ssh/id_ed25519 — приватный ключ (никому не показывать);
  • ~/.ssh/id_ed25519.pub — публичный ключ (его и загружаем на GitHub).

Добавление ключа в GitHub

  1. Посмотрите содержимое публичного ключа: cat ~/.ssh/id_ed25519.pub
  2. Скопируйте всю строку (начинается с ssh-ed25519 и заканчивается вашим логином/хостом).
  3. Откройте GitHub → Settings → SSH and GPG keysNew SSH key.
  4. Вставьте ключ и сохраните.

Проверка подключения

Выполните:

Если всё настроено, вы увидите сообщение:

Возможные ошибки

Давайте рассмотрим наиболее частые проблемы по результатам проверки подключения.

Host key verification failed.

Это значит, что ваш компьютер не доверяет серверу github.com, потому что его ключ ещё не добавлен в known_hosts.

Решение:

(для безопасности можно сверить отпечатки ключей на официальной странице GitHub).

После этого повторите проверку.

Ключ не используется при подключении

Если появляется запрос пароля от GitHub, значит приватный ключ не подхватывается.

Проверьте:

Если так работает, добавьте ключ в ssh-agent:


Теперь Git будет использовать SSH для работы с репозиториями.
Можно клонировать репозитории в формате:

и спокойно работать без постоянного ввода логина и пароля.

Мало букафф? Читайте есчо !

Создание ветки на основе существующей в GIT

Июль 30, 2018 г.

Создание новой ветки - это рутинная операция в GIT. Как указать на основе какой существующей ветки нужно создать новую? По умолчанию, за основу будет взята текущая ветка, в которой вы находитесь. Например: [crayon-68b8458ac4395581886906/] Сначала ...

Читать

Git pull с передачей логина и пароля

Декабрь 11, 2021 г.

Репозиторий почти всегда требует реквизитов доступа. И, если вы их не храните в локальной конфигурации, то скрипты, содержащие git pull, будут прерываться, запрашивая пару логин/пароль. Передать реквизиты с отдельным ключом нельзя, но можно задать ...

Читать

Получить в git список измененных файлов

Июль 26, 2017 г.

Небольшая шпаргалка по git. Файлы измененные с момента последнего коммита, т.е. текущие изменения, можно вывести командой [crayon-68b8458ac4703757437311/] Вы увидите два списка изменений - файлы, которые добавлены в commit и список unstaged changes ...

Читать

GIT может хранить пароли

Сентябрь 30, 2017 г.

Операции с удаленным частным репозиторием требуют ввода пароля. Git может сохранять введенные пароли, чтобы не вводить их при каждой операции. Как это сделать? Во-первых, git может запомнить введенный пароль временно. Это позволит выполнить ряд ...

Читать
 

Комментарии к «Подключение к GitHub по SSH: пошаговая инструкция»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: