Comment automatiser l'exécution des commandes SSH avec Python à l'aide de Paramiko ?

DDD
Libérer: 2024-11-04 22:58:02
original
148 Les gens l'ont consulté

How to Automate SSH Command Execution with Python Using Paramiko?

Exécution de commandes SSH avec Python

L'exécution de commandes à distance via SSH à partir de scripts Python peut améliorer les tâches automatisées. Une méthode pour y parvenir consiste à exploiter les capacités du module paramiko.

Question : Le script nécessite la possibilité d'exécuter des commandes sur un serveur distant tout en utilisant un mot de passe connu. Comment cela peut-il être automatisé en Python sans simplement appeler la commande ssh avec le nom d'utilisateur et l'hôte distant ?

Réponse :

Pour établir une connexion SSH et exécuter des commandes à distance dans Python avec paramiko, suivez ces étapes :

  1. Importez le module paramiko : import paramiko
  2. Créez une instance SSHClient : ssh = paramiko .SSHClient()
  3. Connectez-vous au serveur distant : ssh.connect(server, username=username, password=password)
  4. Exécuter les commandes :

    • ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
    • Cela renvoie un tuple contenant des handles vers les flux stdin, stdout et stderr.
  5. Traitez la sortie de la commande :

    • stdout.read() affichera la sortie de la commande.
  6. Pour l'authentification par clé SSH :

    • k = paramiko.RSAKey.from_private_key_file(keyfilename) ou k = paramiko.DSSKey.from_private_key_file(keyfilename)
    • ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    • ssh.connect(hostname=host, username=user, pkey=k)

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal