Heim >Java >javaLernprogramm >Wie behebe ich den „UnknownHostKey'-Fehler in Java SFTP mit JSch?
UnknownHostKey-Fehler in Java SFTP mit JSch beheben
Der Fehler „UnknownHostKey“ tritt auf, wenn JSch beim Herstellen einer SFTP-Verbindung auf einen unbekannten Hostschlüssel stößt . Um dieses Problem zu beheben, müssen Sie JSch den erwarteten Hostschlüssel zur Authentifizierung bereitstellen.
StrictHostKeyChecking einstellen
Zunächst haben Sie versucht, die Hostschlüsselprüfung zu deaktivieren, indem Sie „ StrictHostKeyChecking“ auf „Nein“, bevor Sie eine Verbindung zum SFTP-Server herstellen. Dies stellt ein Sicherheitsrisiko dar und sollte nicht durchgeführt werden, es sei denn, dies ist unbedingt erforderlich.
Richtiger Ansatz: Festlegen des erwarteten Hostschlüssels
Stattdessen sollten Sie einen erwarteten Hostschlüssel einrichten JSch zur Überprüfung. Es gibt zwei Hauptmethoden, um dies zu erreichen:
Verwenden der Datei „known_hosts“
ssh-keyscan example.com > known_hosts JSch.setKnownHosts("path/to/known_hosts");
Verwenden von HostKeyRepository
// Create HostKey from public key HostKey key = new HostKey("example.com", "rsa", ...); // Add HostKey to repository JSch.getHostKeyRepository().add(key);
Hinweis:Beide Ansätze stellen sicher, dass JSch die Authentizität des SFTP-Servers anhand des erwarteten Hostschlüssels überprüfen kann , wodurch der Fehler „UnknownHostKey“ behoben wird.
Das obige ist der detaillierte Inhalt vonWie behebe ich den „UnknownHostKey'-Fehler in Java SFTP mit JSch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!