Как сгенерировать 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 ключ"