Я столкнулся с той же проблемой и связал ее с тем фактом, что git требуется фраза-пароль, но Maven не может указать соответствующую фразу-пароль, поэтому процесс по существу зависает.Обратите внимание, что эта проблема ограничена Windows.
Решение состоит в том, чтобы запустить ssh-agent .Это можно найти в C:\Program Files (x86)\Git\bin\
.После запуска он выводит некоторые переменные окружения, которые вам нужно установить.Например:
SSH_AUTH_SOCK = / tmp / ssh-LhiYjP7924 / agent.7924;экспорт SSH_AUTH_SOCK;
SSH_AGENT_PID = 2792;export SSH_AGENT_PID;
echo Agent pid 2792;
Итак, вам необходимо разместить их в своей среде:
C:\> set SSH_AUTH_SOCK=/tmp/ssh-LhiYjP7924/agent.7924
C:\> set SSH_AGENT_PID=2792
Затем вынужно будет добавить фразу-пароль для вашего конкретного файла ключей.Как правило, если вы ввели команду типа git fetch origin master
для своего проекта, вы получите приглашение с парольной фразой, например: Enter passphrase for key '/c/Users/Anthony Whitford/.ssh/id_rsa'
- это файл, который необходимо зарегистрировать в агенте.Итак, команда:
C:\> ssh-add "/c/Users/Anthony Whitford/.ssh/id_rsa"
Она запросит у вас пароль, поэтому введите его.Вы должны увидеть сообщение Identity added
.Теперь агент знает фразу-пароль, поэтому вам больше не потребуется указывать ее.
Если у вас есть несколько экземпляров командных приглашений, убедитесь, что в каждой командной строке установлены соответствующие переменные среды SSH_AUTH_SOCK и SSH_AGENT_PID.Вы можете проверить, что это работает, выполнив команду, подобную ssh -v git@github.com
, и если вам НЕ будет предложено ввести фразу-пароль, она работает!
Обратите внимание, что при выходе из системы ssh-agent завершит работу ипоэтому, когда вы снова войдете в систему или перезагрузите компьютер, вам нужно будет повторить эти шаги.Насколько я понимаю, по соображениям безопасности ваша фраза-пароль хранится в памяти, а не сохраняется на диске.