Я использую git bash, и я устанавливаю ssh-ключ, используя ssh-keygen, и каждый раз, когда я что-то делаю с git-репозиторием, спрашиваю у меня пароль /c/Users/jankiewj/.ssh/id_rsa
. Есть ли способ отключить эту фразу-пароль.
Я использую git bash, и я устанавливаю ssh-ключ, используя ssh-keygen, и каждый раз, когда я что-то делаю с git-репозиторием, спрашиваю у меня пароль /c/Users/jankiewj/.ssh/id_rsa
. Есть ли способ отключить эту фразу-пароль.
Ответы:
Вы можете запустить это в git bash:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
во второй команде он попросит ввести фразу-пароль, и все. Каждое дополнительное действие, которое вам нужно будет выполнить (что когда-то требовало парольную фразу) не будет запрашивать у вас парольную фразу (см. Пример на снимке экрана ниже):
.bashrc
так, что каждый раз, когда я открываю git bash, я получаю приглашение, и для этой сессии я готов.
~/.bashrc
затем ввести строки из вашего поста в него и сохранить, вот и все :) THX!
.bashrc
, я бы использовал скрипт и поместил бы его в .bash_profile
или .profile
. Вот фрагмент основной части моего .bash_profile
, это должно решить эту проблему для тех, кто все еще ищет ответ; это похоже на ответ ниже. В верхней части скрипта я загружаю свой .bashrc
, который, если не применимо, просто опускаю. Примечание: вам нужно будет изменить ссылки на id_rsa
то, что вы назвали своим закрытым ключом SSH, и, возможно, путь.
Немного лучшим и постоянным решением является автоматический запуск ssh-agent при открытии git bash на окнах. Вы можете скопировать / вставить ниже в ваш .profile или .bashrc. Я предпочитаю ставить его на .profile
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Это решение было взято из этой справочной статьи 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 ". После этого вам будет предложено ввести местоположение ключевого файла, старую парольную фразу и новую парольную фразу (которую можно оставить пустым, чтобы не иметь парольной фразы). Не вводите ничего в новый пароль, и он удалит ключевую фразу