ОК, я думаю, что нашел определенное решение.
Проблема в том, что независимо от используемого терминала (puttycyg, mintty, cmd.exe), Git по умолчанию, при отсутствии лучше настроенных альтернатив, пытается использовать «простой запрос пароля» (как вы можете прочитать в описании core.askpass
опция конфигурации ).
Простая подсказка пароля, очевидно, работает только в реальной UNIX, но не в Cygwin.
Решение состоит в том, чтобы установить SSH_ASKPASS-совместимую программу для Windows и настроить Git для ее использования.
То, что я сделал, было:
- Установите приложение win-ssh-askpass, распаковав и скопировав в C: \
- Загрузите и установите среду выполнения Borland Delphi 5, необходимую для win-ssh-askpass (в настоящее время трудно найти, но ее можно найти на http://www.satsignal.eu/software/runtime.html ).
- Настройка Git для получения паролей с помощью обоюдного SSH-askpass:
git config --global core.askpass "C:/win_ssh_askpass.exe"
. Обратите внимание, что в имени файла EXE подчеркивание, а не знак минус. - Не забудьте всегда указывать свой логин в URL (
https://<user>@<domain>/<repository>
). В противном случае, Git запросит логин, прежде чем запрашивать пароль, используя ту же утилиту askpass. Вы можете неосознанно ввести свой пароль в качестве логина, который будет отправлен на веб-сервер и зарегистрирован в журнале доступа в виде простого текста!
Теперь Git запрашивает пароль, используя элегантное окно графического интерфейса, и работает независимо от используемого терминала :)