Как добавить SSH ключ в git #
Achtung! Когда клонируем репозиторий, система предлагает ввести пароль, например:git@gitlab.example.com password:. Это указывает на то, что-то не так с локальной настройкой SSH. Убедитесь, что была правильно сгенерирована пара ключей SSH и добавлен общедоступный SSH ключ к вашему профилю GitLab.
1. Проверка на наличие OpenSSH:
Чтобы просмотреть версию SSH, установленную в системе, необходимо запустить следующую команду:
ssh -VПоддерживаемые типы ключей SSH (доп. информация):
Для связи с GitLab можно использовать следующие типы ключей SSH:
-ED25519
-ЮАР
-АСС (Устаревшее в GitLab 11.0.)
-ECDSA (Как отмечено в Практической криптографии с Go, проблемы безопасности, связанные с DSA, также применимы к ECDSA.)
ED25519 ключи SSH
Книга Практическая криптография с Go предполагает, что ED25519 ключи более безопасны и производительны, чем ключи RSA.
OpenSSH 6.5 представил SSH-ключи ED25519 в 2014 году, и они должны быть доступны в большинстве операционные системы.
Ключи RSA SSH
Доступная документация предполагает, что ED25519 более безопасен, чем RSA.
Если используется ключ RSA, национальный институт науки и технологий США в публикации 800-57 Часть 3 (PDF) рекомендует размер ключа не менее 2048 бит. Размер ключа по умолчанию зависит от версии ssh-keygen.
2. Посмотрите, есть ли существующая пара ключей SSH:
Перед созданием пары ключей проверьте, существует ли уже пара ключей.
В Windows, Linux или macOS перейдите в домашний каталог. Перейти к .ssh/ подкаталог. Если .ssh/ подкаталог не существует, либо не находитесь в домашнем каталоге, либо не использовали ssh. В последнем случае необходимо сгенерировать пару ключей SSH.
Важно: Если не отображается папка .ssh, значит нужно включить отображение скрытых файлов(папок) при помощи сочетаний клавиш ctrl+H.
Посмотрите, существует ли файл одного из следующих форматов:
3. Создайте пару ключей SSH
Если нет существующей пары ключей SSH, сгенерируйте новую.
-
Откройте терминал:
Инструкция как открыть терминал.
Выберите Spotlight (кнопка лупы в правом верхнем углу экрана) и введите в строку поиска «Терминал».Нажать сочетания клавиш “CTRL+ALT+T".Нажатием клавиш “WIN+R”, в появится меню «Выполнить»; В появившемся окне написать команду: «cmd» или «command». -
Тип ssh-keygen -t за которым следует тип ключа и необязательный комментарий. Этот комментарий включен в .pub созданный файл. Для комментария можете использовать адрес электронной почты.
Например, для ED25519:
ssh-keygen -t ed25519 -C "<comment>"Для 2048-битного RSA:
ssh-keygen -t rsa -b 2048 -C "<comment>"- Нажмите Ввод. Отображается результат, подобный следующему:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/alex/.ssh/id_rsa):Подтвердите имя файла, каталога для того что-бы оставить путь без изменений. Если не создаете ключ развертывания или хотите сохранить в определенном каталоге, то укажите путь где, храните другие ключи.
Важно: Если ключ уже создан, появится запрос на перезапись ключа введите: y (для перезаписи) n (оставить без изменений)
Overwrite (y/n)?
- Укажите кодовую фразу (необязательно):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:- Отображается подтверждение, включая информацию о том, где хранятся файлы в системе.
4. Добавьте SSH-ключ в учетную запись GitLab
Чтобы использовать SSH с GitLab, скопируйте открытый ключ в учетную запись GitLab.
- Скопируйте содержимое файла открытого ключа. Можете сделать это вручную или использовать скрипт (требуется xclipу пакет). Например, чтобы скопировать ключ ED25519 в буфер обмена:
Заменять id_ed25519.pubс именем файла. Например, используйте id_rsa.pub для RSA.
-
Войдите в GitLab.
-
В правом верхнем углу выберите аватар.
-
Выберите Предпочтения(preferences).
-
На левой боковой панели выберите ключи SSH.
-
В поле ключ вставьте содержимое открытого ключа. Если скопировали ключ вручную, убедитесь, что скопировали весь ключ, который начинается с ssh-ed25519 или ssh-rsa, и может заканчиваться комментарием.
-
В название текстовом поле введите описание, например: рабочий ноутбук или домашняя рабочая станция.
-
В поле истекает, выберите дату истечения срока (необязательно).
-
Выберите добавить ключ.
Инструкция (кликабельно):

