неправильный пароль 3 раза: Git не запрашивать пароль больше

Я хотел нажать на удаленный репозиторий git. Я трижды набрал неверную парольную фразу. Я создал новый ssh-ключ и зарегистрировал новый открытый ключ на сервере репозитория. Но агент ssh не запрашивает парольную фразу. Он просто продолжает говорить мне:

разрешение отказано (publickey). фатальная ошибка: не удалось прочитать из удаленного хранилище.

пожалуйста, убедитесь, что у вас есть соответствующие права доступа и хранилище существует.

как я могу решить эту проблему в ubuntu?

редактировать

как было предложено, я пробовал ssh-add

sadik@sadix:~$ cd .ssh/
sadik@sadix:~/.ssh$ ls
config  github_rsa  github_rsa.pub  id_rsa  id_rsa.pub  keys.zip  known_hosts
sadik@sadix:~/.ssh$ ssh-add 
Enter passphrase for /home/sadik/.ssh/id_rsa: 
Identity added: /home/sadik/.ssh/id_rsa (/home/sadik/.ssh/id_rsa)
sadik@sadix:~/.ssh$ 
sadik@sadix:~/.ssh$ cd
sadik@sadix:~$ cd some/git-repo/
sadik@sadix:~/some/git-repo/$ git push -u bitbucket master
Permission denied (publickey).
fatal: Could not read from remote repository.

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

я должен добавить, что этот репозиторий git был клонирован из github (не принадлежит мне). Я хочу поместить его в свой личный репозиторий на bitbucket. Я не знаю, Может ли это привести к проблемам с разрешениями, но моя первая проблема заключается в том, что ssh не запрашивает парольную фразу. Даже после перезагрузки или выйти из системы.

редактировать

как любезно предложил Якудже, я ввел команду GIT_SSH_COMMAND="ssh -vvv" git push -u bitbucket master чтобы получить журналы клиента. Это конец вывода:

debug3: preferred gssapi-keyex,gssapi-with-mic,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: /home/sadik/.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: /home/sadik/.ssh/id_dsa
debug3: no such identity: /home/sadik/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /home/sadik/.ssh/id_ecdsa
debug3: no such identity: /home/sadik/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /home/sadik/.ssh/id_ed25519
debug3: no such identity: /home/sadik/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
fatal: Could not read from remote repository.

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

по какой-либо причине он ищет pubkey id_dsa, так что я скопировал id_rsa to id_dsa и попробовал еще раз. Теперь он запрашивает пароль! Но... когда я ввожу неправильную парольную фразу, он снова спрашивает меня. Когда я ввожу правильный, он говорит разрешение отказано.

$ git push -u bitbucket master
Enter passphrase for key '/home/sadik/.ssh/id_dsa': 
Enter passphrase for key '/home/sadik/.ssh/id_dsa': 
Enter passphrase for key '/home/sadik/.ssh/id_dsa': 
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
  1. что не так с правами?
  2. почему он ищет id_dsa вместо id_rsa?

2 ответов


вещи выглядят достаточно сложными, что может быть стоит начать все сначала:

  1. удалить все ключи в ~/.ssh что вам не нужно (если есть ключи, которые вы хотите сохранить, подумайте о перемещении их в другой каталог на данный момент).
  2. если ~/.ssh / config существует, убедитесь, что у него нет подозрительных строк.
  3. если вы используете ssh-agent удалить все ключи с помощью ssh-add -D. Проверьте, что там нет ключей с помощью ssh-add -l. Если вы видите какой-либо выход, вы страдаете от эта ошибка. Выйдите из системы, войдите в систему и убедитесь, что ssh-add -l производит никакого вывода.
  4. Run ls -al ~/.ssh и убедитесь, что там нет ключей.
  5. создайте новый ключ с помощью ssh-keygen. Нажмите enter, когда он попросит выходной файл использовать значение по умолчанию, затем дважды введите парольную фразу.
  6. Run ls -al ~/.ssh и проверить, что id_rsa и id_rsa.паб существовать.
  7. удалить существующие ключи из Bitbucket.
  8. добавить содержимое ~/.ssh / id_rsa.паб на Bitbucket.
  9. проверьте соединение с помощью ssh -T git@bitbucket.org. Если это не удается, опубликуйте вывод ssh -vvv git@bitbucket.org.
  10. проверьте, что команды git работают.

почему он ищет id_dsa вместо id_rsa?

SSH пробует несколько ключей, пока не найдет тот, который работает. Он пытался!--9--> ключ был отклонен, поэтому он продолжал пытаться id_dsa.

кредит @Leon указать ssh-add.


Я забыл пароль и угадал несколько раз. Поэтому я создал новый.

Я читал, что, поскольку у вас был ключ, который работал, вы создали новый, и Вам интересно, почему он не работает.

вам нужно скопировать открытый ключ на сервер authorized_keys.