使用 JGit 连接到 GitLab 时出错

Error connecting to GitLab with 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=

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

只需输入:

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