我正在尝试使用 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/