UnknownHostKey Ausnahme beim Zugriff auf GitHub Sicher
Ich bin mit jgit, um den Zugriff auf ein repository in GitHub sicher. Ich habe die folgenden zum erzeugen der Schlüssel für die sichere Kommunikation zwischen GitHub und mein client-code.
-
Erzeugt das Schlüsselpaar:
ssh-keygen -t rsa
-
Hinzugefügt, die öffentlichen Schlüssel auf GitHub-Konto mit der Konto-Einstellungen -> SSH-Schlüssel -> add SSH key
-
Hinzugefügt, die privaten Schlüssel generiert, die in Schritt 1 auf dem lokalen host mit:
ssh-add id_rsa
Nachdem Sie das getan, wenn ich versuche, auf GitHub und einen Klon, noch bekomme ich die folgende Fehlermeldung:
org.eclipse.jgit.api.errors.TransportException: git@github.com:test/test_repo.git: UnknownHostKey: github.com. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:137)
at org.eclipse.jgit.api.CloneCommand.fetch(CloneCommand.java:178)
at org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:125)
Dies ist der code, den ich verwendet habe:
String localPath, remotePath;
Repository localRepo;
Git git;
localPath = <path_to_local_repository>;
remotePath = "[email protected]:test/test_repo.git";
try {
localRepo = new FileRepository(localPath + "/.git");
} catch (IOException e) {
e.printStackTrace();
}
git = new Git(localRepo);
CloneCommand cloneCmd = git.cloneRepository().
setURI(remotePath).
setDirectory(new File(localPath));
try {
cloneCmd.call();
} catch (GitAPIException e) {
log.error("git clone operation failed");
e.printStackTrace();
}
Bitte lassen Sie mich wissen, hier das Problem und was muss ich tun, um Sie zu berichtigen.
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es geschieht, weil Sie haben keinen Eintrag in github in
~/.ssh/known_hosts
, undJSch
verwendet in jgit Standardwerte zur Ablehnung der Sitzung in diesem Fall. Siehe zu dieser Frage für die Lösungen: com.jcraft.jsch.JSchException: UnknownHostKeyFestlegen der ssh-Sitzung Eigenschaft, die Sie brauchen, um eine Sitzung zu erstellen, die Fabrik für jgit:
oder fügen Sie
StrictHostKeyChecking=no
zu~/.ssh/config