Я нашел много тем о том, как настроить git поверх ssh с помощью msysgit и putty / plink, но rubymine, похоже, использует свою собственную реализацию git и ssh (см. Сообщение об ошибке ниже).
В настоящее время у меня естьУстановлены шпаклевка, msysgit, TortoiseGit и rubymine.Мой репозиторий имеет два пульта:
[remote "origin"]
url = ssh://mygituser@255.255.255.255:1234/path/to/repo.git
[remote "origin_putty"]
url = putty-alias:path/to/repo.git
puttykeyfile = path/to/my/putty/keyfile.ppk
В putty соединение "putty-alias" определено с тем же пользователем, хостом и портом, которые используются в origin
, а также снова устанавливает ключ ssh (может не бытьнеобходимо).Использование TortoiseGit для нажатия на origin_putty
работает нормально, так как загружает ssh-ключ putty и запрашивает мою фразу-пароль.Однако, когда я пытаюсь использовать origin
из rubymine, он запрашивает пароль mygituser
, поскольку не определен ключевой файл.
Я уже пробовал следующие решения
- Настройка GIT_SSH на plink, запуск театрализованного представления и загрузка ключа туда (без изменений)
- с использованием строки
puttykeyfile
в определении origin
(без изменений) - с использованием
origin_putty
из rubymine (не разрешает putty-alias
)
Причина, по которой я думаю, что rubymine использует собственную реализацию ssh, заключается в сообщении об ошибке, которое я получаю при неудачной аутентификации: SSH: методы аутентификации: [publickey, keyboard-интерактивный, пароль] последний успешный метод:
java.io.IOException: Authentication failed:
at org.jetbrains.git4idea.ssh.SSHMain.authenticate(SSHMain.java:280)
at org.jetbrains.git4idea.ssh.SSHMain.start(SSHMain.java:155)
at org.jetbrains.git4idea.ssh.SSHMain.main(SSHMain.java:135)
fatal: The remote end hung up unexpectedly