Java org.eclipse.jgit.api.errors.TransportException:ssh:/。git:pushcommand.call()时身份验证失败

Java org.eclipse.jgit.api.errors.TransportException:ssh:/。git:pushcommand.call()时身份验证失败,java,git,github,jgit,Java,Git,Github,Jgit,我尝试创建一个本地分支并将其推送到远程。当我使用下面创建的代码本地分支时,当执行到pushHotfixBranchToRemote()方法中的pushCommand.call()时,它会引发异常 org.eclipse.jgit.api.errors.TransportException:ssh://approot@192.168.57.65:22/u01/gitroot/apdt_v16_test/dev/appbi.git:Auth fail 上述场景发生在Linux机器上运行该类时,其中克

我尝试创建一个本地分支并将其推送到远程。当我使用下面创建的代码本地分支时,当执行到
pushHotfixBranchToRemote()
方法中的
pushCommand.call()
时,它会引发异常

org.eclipse.jgit.api.errors.TransportException:ssh://approot@192.168.57.65:22/u01/gitroot/apdt_v16_test/dev/appbi.git:Auth fail

上述场景发生在Linux机器上运行该类时,其中克隆的源代码存在于同一台机器中,而裸代码存在于另一台机器中

但是,当我在本地机器(windows)上尝试同样的方法时,克隆和裸机在同一台机器上但在不同的驱动器上运行,效果很好

这些问题的一些答案是,我们必须检查.ssh文件夹。但我对这件事一无所知。请帮我解决这个问题

private void createLocalHotFixBranch() {
    CreateBranchCommand createBranchCommand = null;
    try {
        portalLogger.debug("Inside createLocalHotFixBranch()");
        createBranchCommand = gitObject.branchCreate();
        createBranchCommand.setName(GitBranchConstants.hotFixBranchName + "_" + releaseVersion)
            .setStartPoint("origin/" + GitBranchConstants.releaseBranchName).call();
    } catch (GitAPIException e) {
        portalLogger.error("Error occured in createLocalHotFixBranch  --> " + e.getMessage());
        e.printStackTrace();
    }
}

private void pushHotfixBranchToRemote() {
    PushCommand pushCommand = null;
    try {
        portalLogger.debug("Inside pushHotfixBranchToRemote()");
        pushCommand = gitObject.push();
        pushCommand.setRemote("origin");
        pushCommand.setRefSpecs(new RefSpec(GitBranchConstants.hotFixBranchName + "_" + releaseVersion + ":"
            + GitBranchConstants.hotFixBranchName + "_" + releaseVersion));
        pushCommand.call();
    } catch (GitAPIException e) {
        portalLogger.error("Error occured in pushHotfixBranchToRemote  --> " + e.getMessage());
        e.printStackTrace();
    }
}
例外是

org.eclipse.jgit.api.errors.TransportException: ssh://approot@192.168.57.65:22/u01/gitroot/apdt_v16_HotfixTest/dev/core.git: Auth fail
at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:160)
at com.echain.project.HotFixBranchCreationTest.pushHotfixBranchToRemote(HotFixBranchCreationTest.java:121)
at com.echain.project.HotFixBranchCreationTest.initiateHotfixCreationProcess(HotFixBranchCreationTest.java:65)
at com.echain.project.HotFixBranchCreationTest.main(HotFixBranchCreationTest.java:169)
Caused by: org.eclipse.jgit.errors.TransportException: ssh://approot@192.168.57.65:22/u01/gitroot/apdt_v16_HotfixTest/dev/core.git: Auth fail
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)
    at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)
    at org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init>(TransportGitSsh.java:320)
    at org.eclipse.jgit.transport.TransportGitSsh.openPush(TransportGitSsh.java:166)
    at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:154)
    at org.eclipse.jgit.transport.Transport.push(Transport.java:1200)
    at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:156)
    ... 3 more
Caused by: com.jcraft.jsch.JSchException: Auth fail
    at com.jcraft.jsch.Session.connect(Session.java:512)
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
    ... 9 more
org.eclipse.jgit.api.errors.TransportException:ssh://approot@192.168.57.65:22/u01/gitroot/apdt_v16_hotfix测试/dev/core.git:Auth失败
位于org.eclipse.jgit.api.PushCommand.call(PushCommand.java:160)
在com.echain.project.HotFixBranchCreationTest.pushHotfixBranchToRemote(HotFixBranchCreationTest.java:121)
在com.echain.project.HotFixBranchCreationTest.initiateHotfixCreationProcess(HotFixBranchCreationTest.java:65)上
位于com.echain.project.hotfix BranchCreationTest.main(hotfix BranchCreationTest.java:169)
原因:org.eclipse.jgit.errors.TransportException:ssh://approot@192.168.57.65:22/u01/gitroot/apdt_v16_hotfix测试/dev/core.git:Auth失败
位于org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)
位于org.eclipse.jgit.transport.sshttransport.getSession(sshttransport.java:136)
在org.eclipse.jgit.transport.transportGitsh$SshPushConnection上(transportGitsh.java:320)
位于org.eclipse.jgit.transport.transportGitsh.openPush(transportGitsh.java:166)
位于org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:154)
在org.eclipse.jgit.transport.transport.push上(transport.java:1200)
位于org.eclipse.jgit.api.PushCommand.call(PushCommand.java:156)
... 3个以上
原因:com.jcraft.jsch.JSchException:Auth fail
位于com.jcraft.jsch.Session.connect(Session.java:512)
位于org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:116)
... 9更多

关于的答案可能有数千个。请提供完整的stacktrace。如果您从代码段中删除一些内容也会很好。@Rüdigerrmann在本地计算机上的问题中添加了完整的堆栈,它可以工作,因为不需要身份验证。很可能JGit找不到与远程主机进行身份验证所需的ssh密钥。你能用CLI Git克隆远程存储库吗?可能有数千个关于的答案。请提供完整的stacktrace。如果您从代码段中删除一些内容也会很好。@Rüdigerrmann在本地计算机上的问题中添加了完整的堆栈,它可以工作,因为不需要身份验证。很可能JGit找不到与远程主机进行身份验证所需的ssh密钥。能否使用CLI Git克隆远程存储库?