Как сгенерировать SSH ключ

Admin GIT Обсудить

Создаём публичный SSH ключ.

Ошибки при отсутствии SSH ключа

При отсутсвии публичного ключа для доступа к GIT репозиторию возникнет ошибка:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

А если это связано со скриптом, который запускается при инициализации GIT репозитория и в котором указаны дальнейшие инструкции, то могут посыпаться и другие ошибки:

ERROR:
        Can't find a suitable configuration file in this directory or any
        parent. Are you in the right directory?
На русском:
Не удается найти подходящий файл конфигурации в этом каталоге или любом родителе. Вы в правильном каталоге?

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

Для исправления ошибки Permission denied (publickey) необходимо занести публичный ssh ключ, который сгенерирован для компьютера, с которого осуществляется доступ на сайт github.com.

I. Создание ключа ssh

Открываем терминал и переходим в папку с ключами:

cd ~/.ssh

Смотрим какие файлы там существуют:

ls

Обычно что-то вроде:

id_rsa
id_rsa.pub
known_hosts

где файлы:
id_rsa – содержит секретный ключ;
id_rsa.pub — публичный ключ.

Если файлов id_rsa и id_rsa.pub нет или чтобы их пересоздать, вводим команду:

ssh-keygen

или

ssh-keygen -t rsa

На вопрос перезапустить:

Overwrite (y/n)?

Отвечаем утвердительно.

II. Смотрим свой публичный ключ

Вводим команду:

cat ~/.ssh/id_rsa.pub

Внутри будет содержаться сгенерированный ключ, что-то вроде этого:

ssh-rsa AAtVB4puoWb3TQmkRDAtVhbLt3nWACq5r1Z/wMDcmh/8D0+MSSAsGLsW/ZOztIKn4uv6ojl5jBeM6UMoAmT23G5xVWHpW4YoeoNikAAB3B4puoWb3TQmkAABRDAV5sCnhbLt3nWACq5r1Z/wMDcmh/8D0+MSSAsGLsW/ZOztIKn4uv6ojl5jBeM6UMoAmT23G5xVWHpW4YoeoNikV5sCnyc2EAAIzaC1dwjKIB user@ploshadka-net-computer

Этот ключ копируем и вставляем на страницу:
https://github.com/settings/keys

Там создаём ключ, нажимая на New SSH key

Вводим название ключа, например, название операционной системы (к примеру – Mac OS). А в поле Key, вставляем содержимое которое было скопировано из терминала.

Теперь не должно быть проблем при соединении этого компьютера с сервисами сайта github.com

Важно

Если мы настраиваем автодеплой на GIT, то первый раз команду git pull надо запустить в ручном режиме! Это необходимо, чтобы добавить аутентификацию гита на свой сервер.

git pull
The authenticity of host ‘github.com (140.82.118.3)’ can’t be established.
RSA key fingerprint is SHA256:.
RSA key fingerprint is MD5:.
Are you sure you want to continue connecting (yes/no)? yes

Подтверждаем. Теперь скрипты будут работать в автоматическом режиме.

Метки:

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Как сгенерировать SSH ключ"
Если вам нужно добавить участок кода ставьте его между тегами <code></code>