Я создал ключи в соответствии с инструкциями в руководстве по github, зарегистрировал их в github и попытался использовать ssh-agent в явном виде - однако git продолжает запрашивать у меня парольную фразу каждый раз, когда я пытаюсь сделать push или push.
Что может быть причиной?
Ответы:
Как только вы запустили агент SSH с:
Вы должны добавить свой закрытый ключ к нему:
Это попросит вас ввести пароль только один раз, а затем вам будет разрешено нажать, при условии, что вы загрузили открытый ключ в Github.
Для постоянного сохранения ключа в macOS:
Это сохранится после закрытия и повторного открытия, сохраняя его в цепочке для ключей пользователя.
источник
git pull
, снова введите пароль.ssh-add -K
будет сохраняться после закрытия и повторного открытия, сохраняя его в цепочке для ключей пользователя.ssh-add -K
дает следующее:unknown option -- K usage: ssh-add [options] [file ...] Options: -l List fingerprints of all identities. -L List public key parameters of all identities. -k Load only keys and not certificates. -c Require confirmation to sign using identities -t life Set lifetime (in seconds) when adding identities. -d Delete identity. -D Delete all identities. -x Lock agent. -X Unlock agent. -s pkcs11 Add keys from PKCS#11 provider.
-K
это яблоко специфично. См help.github.com/articles/...Это происходит со мной после перезагрузки с момента обновления с OS X El Capitan (10.11) до macOS Sierra (10.12).
ssh-add
Решение работал временно , но не будет сохраняться через другую перезагрузку.Постоянным решением было отредактировать (или создать)
~/.ssh/config
и включитьUseKeychain
опцию.Связанный: macOS продолжает спрашивать мою парольную фразу ssh, так как я обновил Sierra
источник
ssh-add -K /Users/***/.ssh/git/id_rsa
но он все еще не работал после перезапуска терминала ... спасибо.Если вы пробовали,
ssh-add
но вам все еще предлагается ввести пароль, попробуйте использоватьssh-add -K
. Это добавит вашу парольную фразу к вашей цепочке для ключей.Обновление: если вы используете macOS Sierra, вам, вероятно, потребуется сделать еще один шаг, так как приведенное выше может больше не работать. Добавьте следующее к вашему
~/.ssh/config
:источник
Я бы попробовал следующее:
~/.bashrc
файлисточник
zsh
. Просто добавьте это к.zshrc
id_rsa
. Если у вас есть собственное имя, вы должны использовать, например./usr/bin/ssh-add ~/.ssh/custom_filename
То, что работало для меня в Windows, было (я клонировал код из репо 1-го):
в это время он спросил меня в последний раз для моей парольной фразы
Кредиты: решение было взято с /unix/12195/how-to-avoid-being-asked-passphrase-each-time-i-push-to-bitbucket
источник
Попробуйте добавить это в ~ / .ssh / config :
... при условии, что ваш закрытый ключ называется id_rsa
источник
У меня была похожая проблема, но другие ответы не решили мою проблему. Я решил пойти дальше и опубликовать это на тот случай, если у кого-то еще есть чокнутая настройка, как у меня.
Оказывается, у меня было несколько ключей, и Git сначала использовал неправильный. Он запросит у меня пароль и я введу его, тогда Git будет использовать другой ключ, который будет работать (чтобы мне не нужно было вводить фразу).
Я просто удалил ключ, который он использовал, чтобы запросить у меня пароль, и теперь он работает!
источник
Похоже, у вас могут быть проблемы с самим SSH-агентом. Я бы попробовал устранить это.
1) Вы делали ssh-add, чтобы добавить свой ключ в SSH?
2) Вы закрываете окно терминала между использованиями, потому что, если вы закроете окно, вам придется снова вводить пароль при его открытии.
источник
Если вышеуказанные решения не работают для меня, нужно проверить, есть ли у вас открытый ключ (обычно
id_rsa.pub
). Это необычно, но это было причиной для меня.Чтобы создать ваш открытый ключ из вашего личного ключа:
источник
Я пробую разные решения, но ничего не помогу. Но это шаги ( Моя среда GitBash SSH всегда запрашивает мою фразу-пароль, что я могу сделать? ) Из швов Bitbucket.com работает хорошо:
Идея заключается в следующем:
вы создаете
~/.bashrc
файлдобавить следующий скрипт:
повторно запустить Bash
источник
Другое возможное решение, которое не упомянуто выше, - это проверить пульт с помощью следующей команды:
Если пульт не запускается с git, а запускается с https, вы можете изменить его на git, следуя приведенному ниже примеру.
источник