#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:
Начните с чистого листа. Создайте новый ключ и поработайте над ним.
-
Запустив,
ssh-keygen
и предоставьте ему ключевое имя. -
Скопируйте
keyname.pub
и вставьте свои ключи в учетную запись gitlab. -
Очистите все остаточные ключи, уже существующие в вашей системе,
ssh-add -D
-
Добавьте ключ, который вы только что создали с помощью
ssh-add <path_to_key>/keyname
Теперь попробуйте еще раз команды git.