Netbeans 7.3: ошибка подключения к репозиторию Git с помощью SSH

Я пытаюсь подключиться к репозиторию git на удаленном сервере, чтобы редактировать исходный код в Netbeans 7.3, но когда я пытаюсь подключиться к репозиторию с помощью своего закрытого ключа ssh для клонирования репозитория, я получаю эту ошибку: java.lang.ArrayIndexOutOfBoundsException: 779

Журнал:

INFO [org.netbeans.modules.git]: 
(address removed):
java.lang.ArrayIndexOutOfBoundsException: 779
java.lang.ArrayIndexOutOfBoundsException: 779
    at com.jcraft.jsch.Util.fromBase64(Util.java:50)
    at com.jcraft.jsch.KnownHosts.setKnownHosts(KnownHosts.java:157)
Caused: com.jcraft.jsch.JSchException
    at com.jcraft.jsch.KnownHosts.setKnownHosts(KnownHosts.java:171)
    at com.jcraft.jsch.JSch.setKnownHosts(JSch.java:184)
    at org.eclipse.jgit.transport.JschConfigSessionFactory.knownHosts(JschConfigSessionFactory.java:261)
    at org.eclipse.jgit.transport.JschConfigSessionFactory.createDefaultJSch(JschConfigSessionFactory.java:248)
    at org.netbeans.libs.git.jgit.JGitSshSessionFactory.getJSch(JGitSshSessionFactory.java:122)
    at org.netbeans.libs.git.jgit.JGitSshSessionFactory.getSession(JGitSshSessionFactory.java:105)
Caused: org.eclipse.jgit.errors.TransportException: (address removed): java.lang.ArrayIndexOutOfBoundsException: 779
    at org.netbeans.libs.git.jgit.JGitSshSessionFactory.getSession(JGitSshSessionFactory.java:111)
    at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:121)
    at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:248)
    at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:147)
    at org.netbeans.libs.git.jgit.commands.ListRemoteObjectsCommand.runTransportCommand(ListRemoteObjectsCommand.java:74)
Caused: org.netbeans.libs.git.GitException$AuthorizationException: (address removed): java.lang.ArrayIndexOutOfBoundsException: 779
    at org.netbeans.libs.git.jgit.commands.TransportCommand.handleException(TransportCommand.java:198)
    at org.netbeans.libs.git.jgit.commands.ListRemoteObjectsCommand.runTransportCommand(ListRemoteObjectsCommand.java:87)
    at org.netbeans.libs.git.jgit.commands.TransportCommand.run(TransportCommand.java:137)
    at org.netbeans.libs.git.jgit.commands.GitCommand.execute(GitCommand.java:73)
    at org.netbeans.libs.git.GitClient.listRemoteBranches(GitClient.java:655)
    at org.netbeans.modules.git.client.GitClient$31.call(GitClient.java:533)
    at org.netbeans.modules.git.client.GitClient$31.call(GitClient.java:529)
    at org.openide.util.NetworkSettings.suppressAuthenticationDialog(NetworkSettings.java:140)
    at org.netbeans.modules.git.client.GitClient$CommandInvoker$1$1.call(GitClient.java:790)
    at org.netbeans.modules.git.client.GitClient$CommandInvoker$1.call(GitClient.java:815)
    at org.netbeans.modules.git.client.GitClient$CommandInvoker.runMethodIntern(GitClient.java:823)
    at org.netbeans.modules.git.client.GitClient$CommandInvoker.runMethod(GitClient.java:756)
    at org.netbeans.modules.git.client.GitClient$CommandInvoker.runMethod(GitClient.java:734)
    at org.netbeans.modules.git.client.GitClient$CommandInvoker.access$400(GitClient.java:728)
    at org.netbeans.modules.git.client.GitClient.listRemoteBranches(GitClient.java:529)
[catch] at org.netbeans.modules.git.ui.clone.RepositoryStep$RepositoryStepProgressSupport.perform(RepositoryStep.java:197)
    at org.netbeans.modules.git.client.GitProgressSupport.performIntern(GitProgressSupport.java:102)
    at org.netbeans.modules.git.client.GitProgressSupport.run(GitProgressSupport.java:95)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1432)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2044)

Любые идеи, как это исправить?


person Techman224    schedule 05.04.2013    source источник
comment
Не могли бы вы скопировать стек вызовов? (как в netbeans.org/bugzilla/show_bug.cgi?id=216024 )   -  person VonC    schedule 05.04.2013
comment
@VonC Я не знаю, где это взять. Я воспользовался встроенным мастером и открыл окно стека вызовов, но ничего не появляется. Я также получаю номер после сообщения, 779   -  person Techman224    schedule 05.04.2013
comment
Любой файл журнала, который вы могли бы найти? Найдите файл, который только что был изменен.   -  person VonC    schedule 05.04.2013
comment
@VonC Нашел и добавил раздел, в котором произошло исключение.   -  person Techman224    schedule 06.04.2013
comment
Прекрасная работа! Будет ли stackoverflow.com/a/2003460/6309? В основном добавьте сервер ssh в файл known_hosts самостоятельно и посмотрите, сохраняется ли ошибка.   -  person VonC    schedule 06.04.2013


Ответы (1)


Все потоки, содержащие такую ​​ошибку, указывают на одно и то же решение.
См., например, "Ошибка ArrayIndexOutOfBoundsException при установке IBM Intelligent Operations Center Platform Control Tool".

Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 810
at com.jcraft.jsch.Util.fromBase64(Util.java:48)
at com.jcraft.jsch.KnownHosts.setKnownHosts(KnownHosts.java:157)

Причина

Хранилище ключей ssh ​​на сервере установки не синхронизировано со средой.

Решение проблемы

Чтобы устранить проблему, выполните следующие действия:

  1. Войдите на сервер установки как пользователь root.
  2. Удалите файл /root/.ssh/known_hosts.
  3. С помощью команды ssh получите доступ к четырем целевым серверам (приложений, событий, данных и управления) в качестве пользователя root, используя полное имя хоста каждого сервера. Примите ключ ssh, когда будет предложено.

Решение того же типа, что и в "com.jcraft.jsch.JSchException: UnknownHostKey".

person VonC    schedule 05.04.2013
comment
Удалил файл known_hosts и все заработало! Он был довольно большим. Спасибо. - person Techman224; 06.04.2013