Подключение к 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 pull с передачей логина и пароля

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

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

Читать

Как отключить отслеживание прав доступа к файлам в git

Декабрь 4, 2018 г.

GIT по умолчанию  следит за правами на запуск файлов. Чаще всего, отслеживание прав не требуется, но файлы то и дело попадают в список измененных, и далее - в коммиты. Давайте посмотрим как игнорировать смену прав доступа у файлам. К счастью, отключить ...

Читать

Создание патча для модуля Drupal

Декабрь 4, 2017 г.

В Drupal для решения ваших задач вы подбираете contributed модули. Отлично, если модуль поддерживается автором, в нем нет багов и есть нужный вам функционал. В противном случае, вы, возможно, правите модуль и используете его для себя. Но, наверное, было ...

Читать

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

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

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

Читать
 

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

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



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