Paramiko « Serveur inconnu » : dépannage et résolution
Lors de la tentative d'établissement de connexions SSH à l'aide de Paramiko, les utilisateurs peuvent rencontrer un « serveur inconnu » exception comme celle ci-dessous :
paramiko.SSHException: Unknown server 127.0.0.1
Cela se produit lorsque la clé d'hôte du serveur n'est pas reconnue par Paramiko. Pour résoudre ce problème, l'attribut Missing_host_key_policy de l'objet SSHClient doit être défini sur une valeur appropriée.
Par défaut, la politique de Paramiko consiste à rejeter tous les serveurs inconnus, garantissant que les connexions sont établies uniquement vers des hôtes connus et fiables. . Pour remplacer ce comportement, le code suivant peut être utilisé :
client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
AutoAddPolicy demande à Paramiko d'ajouter automatiquement la clé d'hôte du serveur à la liste des hôtes connus, la rendant ainsi fiable pour les connexions futures. Alternativement, on peut spécifier une politique différente ou écrire sa propre implémentation adaptée à des exigences spécifiques.
Une fois la politique appropriée définie, les connexions à des serveurs inconnus peuvent être établies sans rencontrer l'exception « Serveur inconnu ». De plus, des hôtes peuvent être ajoutés à la liste des hôtes de confiance à l'aide des méthodes get_host_keys() et save() de l'objet SSHClient. Cela permet aux hôtes d'être enregistrés et chargés pour une utilisation ultérieure.
En comprenant le rôle de Missing_host_key_policy et en utilisant AutoAddPolicy ou une implémentation personnalisée, les développeurs peuvent gérer efficacement les serveurs inconnus et établir des connexions SSH sécurisées à l'aide de Paramiko.
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!