Comment puis-je automatiser les commandes SSH en Python ?

Susan Sarandon
Libérer: 2024-11-04 12:25:29
original
923 Les gens l'ont consulté

How Can I Automate SSH Commands in Python?

Automatisation des commandes via SSH avec Python

Lors de l'automatisation des tâches de ligne de commande en Python, l'utilisation de subprocess.call() est une approche courante. Cependant, pour les commandes de machine distante nécessitant une connexion SSH, cette méthode est insuffisante.

Automatisation des commandes SSH en Python

Pour automatiser les commandes SSH en Python, un module recommandé est paramiko. Il fournit une interface pour établir des connexions SSH et exécuter des commandes en toute sécurité.

Voici un exemple utilisant paramiko :

<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>
Copier après la connexion

Cela établit une connexion SSH à un serveur distant, en spécifiant l'adresse du serveur, le nom d'utilisateur , et mot de passe. Par la suite, la méthode exec_command() exécute la commande souhaitée, capturant les flux de sortie standard et d'erreurs.

En cas d'authentification par clé SSH, l'extrait de code suivant peut être utilisé :

<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>
Copier après la connexion

Par en spécifiant le nom du fichier clé contenant la clé privée, ce code initie une connexion SSH en utilisant l'authentification par clé.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!