Wie automatisiere ich die Ausführung von SSH-Befehlen mit Python mithilfe von Paramiko?

DDD
Freigeben: 2024-11-04 22:58:02
Original
145 Leute haben es durchsucht

How to Automate SSH Command Execution with Python Using Paramiko?

SSH-Befehlsausführung mit Python

Das Ausführen von Remote-Befehlen über SSH aus Python-Skripten heraus kann automatisierte Aufgaben verbessern. Eine Methode, dies zu erreichen, besteht darin, die Funktionen des Paramiko-Moduls zu nutzen.

Frage: Das Skript erfordert die Fähigkeit, Befehle auf einem Remote-Server unter Verwendung eines bekannten Passworts auszuführen. Wie kann dies in Python automatisiert werden, ohne lediglich den SSH-Befehl mit dem Benutzernamen und dem Remote-Host aufzurufen?

Antwort:

Um eine SSH-Verbindung herzustellen und Befehle remote auszuführen Python mit Paramiko, folgen Sie diesen Schritten:

  1. Importieren Sie das Paramiko-Modul:Importieren Sie Paramiko
  2. Erstellen Sie eine SSH-Client-Instanz:ssh = paramiko .SSHClient()
  3. Verbindung zum Remote-Server herstellen: ssh.connect(server, Benutzername=Benutzername, Passwort=Passwort)
  4. Befehle ausführen :

    • ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command(cmd_to_execute)
    • Dies gibt ein Tupel zurück, das Handles für die Streams stdin, stdout und stderr enthält.
  5. Verarbeiten Sie die Befehlsausgabe:

    • stdout.read() zeigt die Befehlsausgabe an.
  6. Für SSH-Schlüsselauthentifizierung:

    • k = paramiko.RSAKey.from_private_key_file(keyfilename) oder k = paramiko.DSSKey.from_private_key_file(keyfilename)
    • ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    • ssh.connect(hostname=host, username=user, pkey=k)

Das obige ist der detaillierte Inhalt vonWie automatisiere ich die Ausführung von SSH-Befehlen mit Python mithilfe von Paramiko?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage