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!