Maison  >  Article  >  développement back-end  >  Comment automatiser les commandes à distance avec Python à l'aide de SSH ?

Comment automatiser les commandes à distance avec Python à l'aide de SSH ?

DDD
DDDoriginal
2024-11-06 03:24:03479parcourir

How to Automate Remote Commands with Python Using SSH?

Automatisation des commandes à distance avec Python via SSH

Dans le monde de l'automatisation, l'exécution de commandes à distance peut améliorer l'efficacité et la polyvalence de vos scripts. Python offre un moyen puissant d'y parvenir en utilisant le module paramiko.

Pour illustrer son utilisation, supposons que vous souhaitiez exécuter une commande sur un serveur distant nommé « remotehost », sur lequel vous disposez d'un mot de passe connu. Manuellement, cela peut être fait avec :

<code class="bash">ssh user@remotehost</code>

En Python, en utilisant paramiko, vous pouvez automatiser ce processus :

<code class="python">import paramiko

# Initialize SSH client
ssh = paramiko.SSHClient()
ssh.connect("remotehost", username="user", password="password")

# Execute remote command
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("your_remote_command")</code>

La méthode exec_command renvoie trois objets de type fichier : stdin pour envoyer des données à la commande distante, stdout pour capturer la sortie standard et stderr pour capturer l'erreur standard.

Si vous utilisez des clés SSH au lieu de mots de passe, le code peut être modifié comme suit :

<code class="python">import paramiko

# Load private key
k = paramiko.RSAKey.from_private_key_file("keyfilename.pem")

# Set missing host key policy
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# Connect using SSH key
ssh.connect("remotehost", username="user", pkey=k)

# Execute remote command
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("your_remote_command")</code>

Avec paramiko, vous bénéficiez de la flexibilité nécessaire pour exécuter des commandes à distance dans des scripts Python, vous permettant d'automatiser un large éventail de tâches dans le confort de votre machine locale.

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