Heim >Java >javaLernprogramm >Wie gehe ich mit der UnknownHostKeyException von Java SFTP um?
Fehlerbehandlung für Java SFTP UnknownHostKeyException
Bei der Verwendung von Java SFTP mit der JSch-Bibliothek kann die UnknownHostKey-Ausnahme auftreten. Dieser Fehler tritt aufgrund nicht übereinstimmender Hostschlüsselinformationen auf. Die Lösung besteht darin, entweder die Überprüfung des Host-Schlüssels zu überspringen oder einen erwarteten Host-Schlüssel zur Überprüfung einzurichten.
Überspringen der Überprüfung des Host-Schlüssels (nicht empfohlen)
Deaktivieren Sie die Überprüfung des Host-Schlüssels nicht durch Setzen Sie „StrictHostKeyChecking“ auf „Nein“, bevor Sie eine Verbindung zur Sitzung herstellen. Dieser Ansatz gefährdet die Sicherheit und sollte nur für vertrauenswürdige Verbindungen verwendet werden.
Einrichten des erwarteten Hostschlüssels
Um sichere Verbindungen zu gewährleisten, ist es wichtig, den Hostschlüssel anhand eines zu überprüfen erwarteter Wert. Es gibt zwei Methoden, um dies zu erreichen:
Bekannte Hosts-Datei:
a. Generieren Sie eine „known_hosts-ähnliche“ Datei mit dem Befehl „ssh-keyscan“ (z. B. ssh-keyscan example.com >known_hosts).
b. Stellen Sie JSch so ein, dass es die bekannte Hosts-Datei verwendet: JSch.setKnownHosts("/path/to/known_hosts-like").
Fest codierter Hostschlüssel:
a. Erhalten Sie den erwarteten Hostschlüssel in einem Format, das mit JSch.getHostKeyRepository().add() kompatibel ist.
b. Fügen Sie den Host-Schlüssel zum Repository hinzu: JSch.getHostKeyRepository().add(host, erwartetHostKey).
Durch Einrichten eines bekannten oder hartcodierten Host-Schlüssels validiert JSch anhand des erwarteten Wert und stellen Sie eine sichere Verbindung her.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit der UnknownHostKeyException von Java SFTP um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!