Automatisierung von Befehlen über SSH mit Python
Bei der Automatisierung von Befehlszeilenaufgaben in Python ist die Verwendung von subprocess.call() ein gängiger Ansatz. Für Remote-Maschinenbefehle, die eine SSH-Anmeldung erfordern, reicht diese Methode jedoch nicht aus.
Automatisieren von SSH-Befehlen in Python
Um SSH-Befehle in Python zu automatisieren, ist ein empfohlenes Modul paramiko. Es stellt eine Schnittstelle zum Herstellen von SSH-Verbindungen und zum sicheren Ausführen von Befehlen bereit.
Hier ist ein Beispiel für die Verwendung von 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>
Dadurch wird eine SSH-Verbindung zu einem Remote-Server hergestellt und dabei die Serveradresse und der Benutzername angegeben , und Passwort. Anschließend führt die Methode exec_command() den gewünschten Befehl aus und erfasst Standardausgaben und Fehlerströme.
Im Falle der SSH-Schlüsselauthentifizierung kann das folgende Code-Snippet verwendet werden:
<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>
Von Durch Angabe des Schlüsseldateinamens, der den privaten Schlüssel enthält, initiiert dieser Code eine SSH-Verbindung mithilfe der schlüsselbasierten Authentifizierung.
Das obige ist der detaillierte Inhalt vonWie kann ich SSH-Befehle in Python automatisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!