Как заставить git не запрашивать фразу-пароль для ключа ssh на windows?
43
Я использую git bash, и я устанавливаю ssh-ключ, используя ssh-keygen, и каждый раз, когда я что-то делаю с git-репозиторием, спрашиваю у меня пароль /c/Users/jankiewj/.ssh/id_rsa. Есть ли способ отключить эту фразу-пароль.
во второй команде он попросит ввести фразу-пароль, и все. Каждое дополнительное действие, которое вам нужно будет выполнить (что когда-то требовало парольную фразу) не будет запрашивать у вас парольную фразу (см. Пример на снимке экрана ниже):
Я должен ввести его снова, как только я закрою git bash ... есть ли постоянное решение?
Черный,
@ Black это для каждой сессии bash, я вставил это .bashrcтак, что каждый раз, когда я открываю git bash, я получаю приглашение, и для этой сессии я готов.
18:36
Что именно вы положили в .bashrc? А где находится .bashrc?
Черный
Edit: nevermind, Вы должны создать файл yourselv, ~/.bashrcзатем ввести строки из вашего поста в него и сохранить, вот и все :) THX!
Черный
Вместо того, чтобы использовать строки выше, особенно в .bashrc, я бы использовал скрипт и поместил бы его в .bash_profileили .profile. Вот фрагмент основной части моего .bash_profile, это должно решить эту проблему для тех, кто все еще ищет ответ; это похоже на ответ ниже. В верхней части скрипта я загружаю свой .bashrc, который, если не применимо, просто опускаю. Примечание: вам нужно будет изменить ссылки на id_rsaто, что вы назвали своим закрытым ключом SSH, и, возможно, путь.
Rockin4Life33
9
Немного лучшим и постоянным решением является автоматический запуск ssh-agent при открытии git bash на окнах. Вы можете скопировать / вставить ниже в ваш .profile или .bashrc. Я предпочитаю ставить его на .profile
Я вставил свой простой код .bashrc, чем отличается ваше решение? В Windows bash каждая оболочка независима, поэтому при ее запуске агент никогда не запускается.
jcubic
Решение отлично работает, поместив код в .bashrc. Подсказка парольной фразы ssh только в первый раз. Спасла мою жизнь. Спасибо.
Бен Асмуссен
спасибо, это очень спасает мою жизнь.
Гумурух
Это действительно должен быть принятый ответ, поскольку он представляет собой решение, которое является постоянным и лучше соответствует тому, что, как я думаю, запрашивал ОП.
Ричард Д
Что мне делать, если я случайно ввел неправильный пароль при запуске? Изменить: На основании superuser.com/a/271673/647110 , вы можете ssh-add -Dудалить все ключи.
Нильс Гильермин
1
Я не уверен, что хочу порекомендовать его, но когда вы создадите Ключ и попросите установить пароль, просто нажмите ввод и пропустите пароль.
Это был единственный способ решить эту проблему в Windows 10. После выполнения всех шагов «Генерации нового SSH-ключа и добавления его в руководство ssh-agent» github всегда спрашивал меня о парольной фразе. Даже после того, как добавил это. Такое поведение нарушало мой процесс развертывания maven, потому что на mvn release:performэтапе он пытается извлечь тег выпуска без предоставления ключевой фразы. Так что только очистка парольной фразы решила эту проблему.
Фернандо Мигель Карвалью
-3
Введите эту команду git в вашем репозитории " ssh-keygen -p ". После этого вам будет предложено ввести местоположение ключевого файла, старую парольную фразу и новую парольную фразу (которую можно оставить пустым, чтобы не иметь парольной фразы). Не вводите ничего в новый пароль, и он удалит ключевую фразу
Оставлять пустой пароль небезопасно, и многие корпоративные разработчики не смогут иметь пустую фразу-пароль из-за ограничений. Это неудачный обходной путь, а не решение проблемы ОП.
cbaldan
возможно, хромой, но только для местного использования, Вкусный и быстрый ™
Ответы:
Вы можете запустить это в git bash:
во второй команде он попросит ввести фразу-пароль, и все. Каждое дополнительное действие, которое вам нужно будет выполнить (что когда-то требовало парольную фразу) не будет запрашивать у вас парольную фразу (см. Пример на снимке экрана ниже):
источник
.bashrc
так, что каждый раз, когда я открываю git bash, я получаю приглашение, и для этой сессии я готов.~/.bashrc
затем ввести строки из вашего поста в него и сохранить, вот и все :) THX!.bashrc
, я бы использовал скрипт и поместил бы его в.bash_profile
или.profile
. Вот фрагмент основной части моего.bash_profile
, это должно решить эту проблему для тех, кто все еще ищет ответ; это похоже на ответ ниже. В верхней части скрипта я загружаю свой.bashrc
, который, если не применимо, просто опускаю. Примечание: вам нужно будет изменить ссылки наid_rsa
то, что вы назвали своим закрытым ключом SSH, и, возможно, путь.Немного лучшим и постоянным решением является автоматический запуск ssh-agent при открытии git bash на окнах. Вы можете скопировать / вставить ниже в ваш .profile или .bashrc. Я предпочитаю ставить его на .profile
Это решение было взято из этой справочной статьи GitHub
источник
.bashrc
, чем отличается ваше решение? В Windows bash каждая оболочка независима, поэтому при ее запуске агент никогда не запускается..bashrc
. Подсказка парольной фразы ssh только в первый раз. Спасла мою жизнь. Спасибо.ssh-add -D
удалить все ключи.Я не уверен, что хочу порекомендовать его, но когда вы создадите Ключ и попросите установить пароль, просто нажмите ввод и пропустите пароль.
Посмотрите эту ссылку, чтобы узнать, как ее использовать
ssh-keygen
: https://help.github.com/articles/working-with-ssh-key-passphrases/Возможно,
ssh-agent
может помочь вам как-то. Но не уверен, не зная вашей нынешней системы.источник
mvn release:perform
этапе он пытается извлечь тег выпуска без предоставления ключевой фразы. Так что только очистка парольной фразы решила эту проблему.Введите эту команду git в вашем репозитории " ssh-keygen -p ". После этого вам будет предложено ввести местоположение ключевого файла, старую парольную фразу и новую парольную фразу (которую можно оставить пустым, чтобы не иметь парольной фразы). Не вводите ничего в новый пароль, и он удалит ключевую фразу
источник