Maison  >  Article  >  développement back-end  >  Comment utiliser le module paramiko pour la programmation client SSH dans Python 3.x

Comment utiliser le module paramiko pour la programmation client SSH dans Python 3.x

WBOY
WBOYoriginal
2023-08-02 23:28:511765parcourir

Comment utiliser le module paramiko pour la programmation client SSH dans Python 3.x

Présentation :
SSH (Secure Shell) est un protocole réseau utilisé pour exécuter des sessions shell en toute sécurité sur des connexions réseau non sécurisées. paramiko est un module Python qui fournit des implémentations client et serveur SSH. Cet article explique comment utiliser le module paramiko pour la programmation client SSH dans Python 3.x afin de faciliter la connexion et le fonctionnement avec le serveur distant.

Étape 1 : Installez le module paramiko
Avant de commencer, vous devez installer le module paramiko. Vous pouvez utiliser la commande pip pour installer :

pip install paramiko

Étape 2 : Importer le module paramiko
Tout d'abord, vous devez importer le module paramiko pour l'utiliser dans le code Python.

import paramiko

Étape 3 : Créer un objet client SSH
Ensuite, vous devez créer un objet client SSH. Créez-le en utilisant la méthode SSHClient() du module paramiko.

client = paramiko.SSHClient()

Étape 4 : Définir les paramètres de connexion
Avant de vous connecter, vous devez définir les paramètres de connexion, notamment l'adresse du serveur, le numéro de port, le nom d'utilisateur et le mot de passe. La politique de vérification de la clé de l'hôte du serveur peut être définie à l'aide de la méthode set_missing_host_key_policy de l'objet client. La stratégie AutoAddPolicy() est utilisée ici pour ajouter automatiquement une nouvelle clé d'hôte.

client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

Étape 5 : Connectez-vous au serveur distant
Utilisez la méthode de connexion de l'objet client pour vous connecter au serveur distant.

client.connect('服务器地址', port=端口号, username='用户名', password='密码')

Étape 6 : Exécuter la commande à distance
Une fois la connexion réussie, vous pouvez utiliser la méthode exec_command de l'objet client pour exécuter la commande à distance. Cette méthode renvoie un triplet contenant l'entrée standard, la sortie standard et l'erreur standard du résultat de l'exécution.

stdin, stdout, stderr = client.exec_command('要执行的远程命令')

Étape 7 : Traiter les résultats de l'exécution
Vous pouvez utiliser la méthode de lecture de l'objet de sortie standard pour lire le résultat de l'exécution de la commande et utiliser la méthode de décodage pour le convertir en chaîne.

output = stdout.read().decode('utf-8')

Étape 8 : Fermez la connexion SSH
Une fois l'opération terminée, la connexion SSH doit être fermée pour libérer les ressources.

client.close()

Exemple de code :
Ce qui suit est un exemple de code simple qui montre comment utiliser le module paramiko pour la programmation client SSH.

import paramiko

# 创建SSH客户端对象
client = paramiko.SSHClient()

# 设置连接参数
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接到远程服务器
client.connect('服务器地址', port=端口号, username='用户名', password='密码')

# 执行远程命令
stdin, stdout, stderr = client.exec_command('要执行的远程命令')

# 处理执行结果
output = stdout.read().decode('utf-8')
print(output)

# 关闭SSH连接
client.close()

Résumé :
Cet article présente comment utiliser le module paramiko pour la programmation client SSH. En créant un objet client SSH, en définissant les paramètres de connexion, en vous connectant au serveur distant, en exécutant des commandes à distance et en fermant la connexion SSH, vous pouvez facilement vous connecter et faire fonctionner le serveur distant. J'espère que cet article vous aidera à comprendre et à utiliser le module 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!

Déclaration:
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