Heim >Backend-Entwicklung >Python-Tutorial >Wie automatisiere ich Remote-Befehle mit Python mithilfe von SSH?

Wie automatisiere ich Remote-Befehle mit Python mithilfe von SSH?

DDD
DDDOriginal
2024-11-06 03:24:03552Durchsuche

How to Automate Remote Commands with Python Using SSH?

Automatisieren von Remote-Befehlen mit Python über 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn