Я пытаюсь использовать 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=
known_hosts
?У вас, похоже, есть отпечаток ecdsa, а не то, что ищет JGit: SHA_RSA
Просто введите:
ssh-keyscan -H -t rsa gitlab.com >> known_hosts
known_hosts
, мой файл был просто неправильно.