Как клонировать репозиторий git с помощью GitLab

#git #bash #ssh #gitlab

#git #bash #ssh #gitlab

Вопрос:

У нашей команды есть репозиторий git на gitlab. У меня там есть учетная запись. Я создал ssh-ключи на одном компьютере. Теперь я хочу клонировать этот репозиторий на другую машину. В моей учетной записи я могу видеть свой открытый ключ в разделе «Ключи SSH», также я могу видеть свой приватный токен в разделе «Учетная запись». Сначала я хотел использовать существующий ключ с smartgit, это не сработало, затем я создал новые ключи, добавил этот новый открытый ключ в свою учетную запись и попытался клонировать из git bash следующим образом:

 git clone  git@gitl.website.com:bla/bla.git
  

Но это дает мне

 Cloning into 'bla'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
  

Я даже пытался скопировать открытый ключ из моей учетной записи GitLab непосредственно в
файл id_rsa.pub.

Итак, как я могу клонировать этот репозиторий?

Отредактированный

Последние строки из ssh -vvv git@gitl.website.com

 debug3: send packet: type 5
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/Arthur/.ssh/id_rsa
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug1: Trying private key: /c/Users/Arthur/.ssh/id_dsa
debug3: no such identity: /c/Users/Arthur/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /c/Users/Arthur/.ssh/id_ecdsa
debug3: no such identity: /c/Users/Arthur/.ssh/id_ecdsa: No such file or directo                     ry
debug1: Trying private key: /c/Users/Arthur/.ssh/id_ed25519
debug3: no such identity: /c/Users/Arthur/.ssh/id_ed25519: No such file or direc                     tory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
  

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

1. «Я даже пытался скопировать открытый ключ из моей учетной записи GitLab непосредственно в файл id_rsa.pub». . Это очень плохая идея. Сделайте это наоборот. На вашем компьютере вам нужен закрытый ключ. Опубликуйте журнал из ssh -vvv git@gitl.website.com

2. Возможно, Git bash не добавляет закрытый ключ к вашему SSH-агенту

3. Отредактировал сообщение с журналом. Итак, как я могу добавить его вручную?

Ответ №1:

Начните с чистого листа. Создайте новый ключ и поработайте над ним.

  1. Запустив, ssh-keygen и предоставьте ему ключевое имя.

  2. Скопируйте keyname.pub и вставьте свои ключи в учетную запись gitlab.

  3. Очистите все остаточные ключи, уже существующие в вашей системе, ssh-add -D

  4. Добавьте ключ, который вы только что создали с помощью ssh-add <path_to_key>/keyname

Теперь попробуйте еще раз команды git.