Maison >développement back-end >Tutoriel Python >Comment puis-je automatiser les commandes SSH en Python à l'aide de Paramiko ?

Comment puis-je automatiser les commandes SSH en Python à l'aide de Paramiko ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 19:29:01588parcourir

How Can I Automate SSH Commands in Python Using Paramiko?

Automatisation des commandes SSH avec Python

En Python, vous pouvez automatiser les tâches de ligne de commande à l'aide de subprocess.call(), comme démontré dans le exemple fourni. Cependant, pour exécuter des commandes sur un système distant via SSH, une approche différente est nécessaire.

Implémentation de commandes SSH distantes avec Paramiko

Pour faciliter la connectivité SSH et l'exécution des commandes dans Python, pensez à utiliser la bibliothèque Paramiko. Il fournit un ensemble complet d'outils pour gérer les sessions SSH à distance.

La syntaxe recommandée pour exécuter une commande à distance avec Paramiko est la suivante :

<code class="python">import paramiko

ssh = paramiko.SSHClient()
ssh.connect(server, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)</code>

Pour utiliser les clés SSH pour l'authentification au lieu de mots de passe, utilisez l'extrait de code suivant :

<code class="python">import paramiko

k = paramiko.RSAKey.from_private_key_file(keyfilename)
# OR k = paramiko.DSSKey.from_private_key_file(keyfilename)

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=host, username=user, pkey=k)</code>

En tirant parti de Paramiko, vous pouvez automatiser sans effort les commandes SSH distantes en Python, améliorant considérablement votre capacité à gérer des systèmes distants à partir de votre script.

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