Maison > développement back-end > Tutoriel Python > Comment automatiser l'exécution des commandes SSH avec Python à l'aide de Paramiko ?

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

DDD
Libérer: 2024-11-04 22:58:02
original
233 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!

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