Я пытаюсь аутентифицироваться на удаленном Git сервере, используя JSch версии 0.1.55 через J Git. С помощью командной строки Git аутентификация работает нормально, но через JSch - нет. Я получаю сообщение об ошибке:
Caused by: org.eclipse.jgit.errors.TransportException: git@REDACTED_HOST:petter/rio.git: Auth fail
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:158)
at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:107)
at org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init>(TransportGitSsh.java:306)
at org.eclipse.jgit.transport.TransportGitSsh.openPush(TransportGitSsh.java:143)
at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:127)
at org.eclipse.jgit.transport.Transport.push(Transport.java:1335)
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:137)
... 10 more
Caused by: com.jcraft.jsch.JSchException: Auth fail
at com.jcraft.jsch.Session.connect(Session.java:519)
at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:112)
... 16 more
Моя теория состоит в том, что невозможно найти какие-либо публичные c ключи, основанные на последних строках журнала отладки:
11:07:56.228 [main] DEBUG re.dacted - JSCH: Authentications that can continue: publickey,keyboard-interactive,password
11:07:56.228 [main] DEBUG re.dacted - JSCH: Next authentication method: publickey
11:07:56.295 [main] DEBUG re.dacted - JSCH: Disconnecting from REDACTED_HOST port 22
Я думаю, что это может быть вызвано каким-то странным взаимодействием между JSch и агентом s sh на моем Ma c (я использую gpg-agent). Основываясь на https://gist.github.com/niclasnilsson/038f20bee1bd19e970d59ba35732e262, я попытался создать файл .ssh/config
с включенной в него записью '*', и в какой-то момент я получил другую ошибку из класса ключей UserAuthPubli c. Однако, что бы я ни пытался, я не могу вернуться к этой стадии.
Я также попробовал инструкции из https://dzone.com/articles/how-to-authenticate-with-jgit (из c, без жесткого кодирования ключевой фразы, что кажется очень странным делом), но не повезло , Кажется, что даже не доходит до попытки вызова любого из методов в UserInfo.
Я действительно получаю ключ от ssh-add -l
. Не уверен, что еще нужно сделать, чтобы попытаться устранить это. Любые указатели будут высоко оценены!