неправильный пароль 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.
- что не так с правами?
- почему он ищет
id_dsa
вместоid_rsa
?
2 ответов
вещи выглядят достаточно сложными, что может быть стоит начать все сначала:
- удалить все ключи в ~/.ssh что вам не нужно (если есть ключи, которые вы хотите сохранить, подумайте о перемещении их в другой каталог на данный момент).
- если ~/.ssh / config существует, убедитесь, что у него нет подозрительных строк.
- если вы используете ssh-agent удалить все ключи с помощью
ssh-add -D
. Проверьте, что там нет ключей с помощьюssh-add -l
. Если вы видите какой-либо выход, вы страдаете от эта ошибка. Выйдите из системы, войдите в систему и убедитесь, чтоssh-add -l
производит никакого вывода. - Run
ls -al ~/.ssh
и убедитесь, что там нет ключей. - создайте новый ключ с помощью
ssh-keygen
. Нажмите enter, когда он попросит выходной файл использовать значение по умолчанию, затем дважды введите парольную фразу. - Run
ls -al ~/.ssh
и проверить, что id_rsa и id_rsa.паб существовать. - удалить существующие ключи из Bitbucket.
- добавить содержимое ~/.ssh / id_rsa.паб на Bitbucket.
- проверьте соединение с помощью
ssh -T git@bitbucket.org
. Если это не удается, опубликуйте выводssh -vvv git@bitbucket.org
. - проверьте, что команды git работают.
почему он ищет
id_dsa
вместоid_rsa
?
SSH пробует несколько ключей, пока не найдет тот, который работает. Он пытался!--9--> ключ был отклонен, поэтому он продолжал пытаться id_dsa
.
кредит @Leon указать ssh-add.
Я забыл пароль и угадал несколько раз. Поэтому я создал новый.
Я читал, что, поскольку у вас был ключ, который работал, вы создали новый, и Вам интересно, почему он не работает.
вам нужно скопировать открытый ключ на сервер authorized_keys
.