Создаём публичный SSH ключ.
Ошибки при отсутствии SSH ключа
При отсутсвии публичного ключа для доступа к GIT репозиторию возникнет ошибка:
fatal: Could not read from remote repository.
А если это связано со скриптом, который запускается при инициализации GIT репозитория и в котором указаны дальнейшие инструкции, то могут посыпаться и другие ошибки:
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
Открываем терминал и переходим в папку с ключами:
Смотрим какие файлы там существуют:
Обычно что-то вроде:
id_rsa.pub
known_hosts
где файлы:
id_rsa – содержит секретный ключ;
id_rsa.pub — публичный ключ.
Если файлов id_rsa и id_rsa.pub нет или чтобы их пересоздать, вводим команду:
или
На вопрос перезапустить:
Отвечаем утвердительно.
II. Смотрим свой публичный ключ
Вводим команду:
Внутри будет содержаться сгенерированный ключ, что-то вроде этого:
Этот ключ копируем и вставляем на страницу:
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
Подтверждаем. Теперь скрипты будут работать в автоматическом режиме.