Heim > Artikel > Backend-Entwicklung > Wie automatisiere ich Remote-Befehle mit Python mithilfe von SSH?
In der Welt der Automatisierung kann das Ausführen von Befehlen aus der Ferne die Effizienz und Vielseitigkeit Ihrer Skripte verbessern. Python bietet mit dem Paramiko-Modul eine leistungsstarke Möglichkeit, dies zu erreichen.
Um seine Verwendung zu veranschaulichen, nehmen wir an, Sie möchten einen Befehl auf einem Remote-Server namens „remotehost“ ausführen, auf dem Sie ein bekanntes Passwort haben. Manuell kann dies erfolgen mit:
<code class="bash">ssh user@remotehost</code>
In Python können Sie mit paramiko diesen Prozess automatisieren:
<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>
Die Methode exec_command gibt drei dateiähnliche Objekte zurück: stdin for Senden von Daten an den Remote-Befehl, stdout zum Erfassen der Standardausgabe und stderr zum Erfassen von Standardfehlern.
Wenn Sie SSH-Schlüssel anstelle von Passwörtern verwenden, kann der Code wie folgt geändert werden:
<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>
Mit paramiko erhalten Sie die Flexibilität, Remote-Befehle in Python-Skripten auszuführen, sodass Sie eine Vielzahl von Aufgaben bequem von Ihrem lokalen Computer aus automatisieren können.
Das obige ist der detaillierte Inhalt vonWie automatisiere ich Remote-Befehle mit Python mithilfe von SSH?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!