Résolution de l'erreur UnknownHostKey dans Java SFTP à l'aide de JSch
L'erreur "UnknownHostKey" se produit lorsque JSch rencontre une clé d'hôte inconnue lors de l'établissement d'une connexion SFTP . Pour résoudre ce problème, vous devez fournir à JSch la clé d'hôte attendue pour l'authentification.
Définition de StrictHostKeyChecking
Au départ, vous avez tenté de désactiver la vérification de la clé d'hôte en définissant " StrictHostKeyChecking" sur "no" avant de vous connecter au serveur SFTP. Il s'agit d'un risque de sécurité et ne doit pas être effectué sauf en cas d'absolue nécessité.
Approche appropriée : définition de la clé d'hôte attendue
Au lieu de cela, vous devez configurer une clé d'hôte attendue pour JSch pour vérifier. Il existe deux méthodes principales pour y parvenir :
Utilisation du fichier known_hosts
ssh-keyscan example.com > known_hosts JSch.setKnownHosts("path/to/known_hosts");
Utilisation de HostKeyRepository
// Create HostKey from public key HostKey key = new HostKey("example.com", "rsa", ...); // Add HostKey to repository JSch.getHostKeyRepository().add(key);
Remarque : Les deux approches garantissent que JSch peut vérifier l'authenticité du serveur SFTP à l'aide de la clé d'hôte attendue , résolvant ainsi l'erreur "UnknownHostKey".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!