Я использую Portable Git x64 на Windows. Я запускаю все мысли Git Bash. Мне нужно s sh на сервер, который доступен только через HTTP прокси. Аутентификация для сервера осуществляется через pubkey, аутентификация для прокси - через пароль, имена пользователей различны. My ~/.ssh/config
:
Host server
Hostname server_hostname
User server_username
IdentityFile ~/.ssh/id_rsa
ProxyCommand /c/PortableGit/mingw64/bin/connect.exe -H proxy_username@proxy_ip:12345 %h %p
Проблема начинается, когда s sh пытается открыть окно, в котором необходимо ввести пароль для HTTP-прокси, войти в систему с ssh -vvv server
:
$ ssh -vvv server
OpenSSH_7.9p1, OpenSSL 1.1.1a 20 Nov 2018
debug1: Reading configuration data /c/Users/username/.ssh/config
debug1: /c/Users/username/.ssh/config line 1: Applying options for server
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Executing proxy command: exec /c/PortableGit/mingw64/bin/connect.exe -H proxy_username@proxy_ip:12345 server_hostname 22
debug1: identity file /c/Users/username/.ssh/id_rsa type 0
debug1: identity file /c/Users/username/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.9
'C:\PortableGit\mingw64\libexec\git-core\git-gui--askpass' is not recognized as an internal or external command,
operable program or batch file.
FATAL: Cannot decide password for proxy authentication.ssh_exchange_identification: Connection closed by remote host
git-gui--askpass
есть, но по какой-то причине он не поднят s sh. Запуск file 'C:\PortableGit\mingw64\libexec\git-core\git-gui--askpass'
дает:
$ file 'C:\PortableGit\mingw64\libexec\git-core\git-gui--askpass'
C:\PortableGit\mingw64\libexec\git-core\git-gui--askpass: POSIX shell script, ASCII text executable
Содержимое git-gui--askpass
идентично https://github.com/git/git/blob/3bab5d56259722843359702bc27111475437ad2a/git-gui/git-gui--askpass
Я пытался запустить этот скрипт через командную строку, он отлично работает:
Также я попытался указать другую программу как SSH_ASKPASS=/mingw64/libexec/git-core/git-askpass.exe
(что я считаю глупостью). Это также не работает:
...
fatal: failed to acquire credentials.
Я пытался ввести пароль в ~/.ssh/config
как:
ProxyCommand /c/PortableGit/mingw64/bin/connect.exe -H proxy_username:proxy_password@proxy_ip:12345 %h %p
^^^^^^^^^^^^^^^
, но s sh.
* это игнорирует 1036 * Кроме того, я попытался подключиться через MobaXterm, и это прекрасно работает - меня попросили ввести пароль прокси-сервера, и после его ввода я подключился. Кроме того, после подключения в MobaXterm я могу подключиться в командной строке, поскольку прокси-сервер не запрашивает пароль в течение некоторого времени. Но по другой причине я не могу использовать MobaXterm.
Есть идеи, как заставить его работать?