java - 使用 JGit 连接到 GitLab 时出错

标签 java git gitlab jsch jgit

我正在尝试使用 JGit 从 GitLab 上的存储库读取一些标签。我可以在 bash 中克隆存储库,因此我知道我拥有权限等等。

当我尝试使用 JGit 获取标签时,出现以下错误:

UnknownHostKey: gitlab.com. RSA key fingerprint is b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:01
    at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:160)
    at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:137)
    at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:264)
    at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:162)
    at org.eclipse.jgit.api.LsRemoteCommand.execute(LsRemoteCommand.java:198)
    ... 49 more
Caused by: com.jcraft.jsch.JSchException: UnknownHostKey: gitlab.com. RSA key fingerprint is b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:01

这是意外的,因为我在 known_hosts 中有以下内容:

gitlab.com,52.167.219.168 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
  • JGit 默认读取 known_hosts 吗?
  • 有没有办法手动将 GitLab 作为已知主机添加到 JGit?

最佳答案

您似乎有一个 ecdsa fingerprint ,而不是 JGit 正在寻找的:SHA_RSA

只需输入:

ssh-keyscan -H -t rsa gitlab.com >> known_hosts

关于java - 使用 JGit 连接到 GitLab 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45621738/

相关文章:

java - 降级到 Java 6

Git - 文件移动会被检测到吗?

git - 我如何在本地使用 git 命名空间?

git - 错误 : cannot overwrite multiple values with a single value

java - 数组赋值操作题

java - 在运行时重写或修改 Java 类构造函数

c++ - 解决我们的版本控制和构建问题

Gitlab 覆盖范围徽章不起作用

Java解析XML日期-排除时间

git log 命令不显示 HEAD 信息