Maison > Java > javaDidacticiel > Comment résoudre l'erreur « UnknownHostKey » dans Java SFTP à l'aide de JSch ?

Comment résoudre l'erreur « UnknownHostKey » dans Java SFTP à l'aide de JSch ?

Barbara Streisand
Libérer: 2024-12-21 04:05:09
original
412 Les gens l'ont consulté

How to Resolve the

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

  • Générer un fichier ".ssh/known_hosts-like" à l'aide de "ssh-keyscan" commande.
  • Définissez le chemin d'accès à ce fichier à l'aide de "JSch.setKnownHosts()" avant d'établir le Session SFTP.
ssh-keyscan example.com > known_hosts
JSch.setKnownHosts("path/to/known_hosts");
Copier après la connexion

Utilisation de HostKeyRepository

  • Créez manuellement une instance de HostKey à l'aide de la clé publique attendue.
  • Ajoutez la HostKey au HostKeyRepository en utilisant "JSch.getHostKeyRepository().add()".
// Create HostKey from public key
HostKey key = new HostKey("example.com", "rsa", ...);

// Add HostKey to repository
JSch.getHostKeyRepository().add(key);
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal