Was ist die beste SSH-Bibliothek für Python?


Beste Antwort

Hierfür können Sie Paramiko verwenden. Der folgende Code ist eine einfache SFTPConnection-Klasse, die das Paramiko-Modul aus meinem 2 Jahre alten Kern verwendet (es sollte funktionieren, wenn nicht, sollte es Ihnen eine Vorstellung von der Verwendung von Paramiko geben).

import paramiko

import os

import subprocess

class SFTPConnection:

"""

Class for SFTP Connection using Paramiko

"""

def \_\_init\_\_(self):

paramiko.util.log\_to\_file("/tmp/paramiko.log")

self.host1 = "192.168.1.77"

self.port = 22

#self.path = os.path.join(os.environ["HOME"], ".ssh", "id\_dsa")

#self.key = paramiko.DSSKey.from\_private\_key\_file(self.path)

self.privatekeyfile = os.path.expanduser("~/.ssh/id\_rsa")

self.mykey = paramiko.RSAKey.from\_private\_key\_file(self.privatekeyfile)

self.username = "root"

def connection\_to\_77(self):

"""

SFTP connection to 192.168.1.77 server using root user

"""

transport = paramiko.Transport((self.host1, self.port))

transport.connect(username = self.username, pkey = self.mykey)

sftp = paramiko.SFTPClient.from\_transport(transport)

return sftp

Antwort

Paramiko – implementiert das SSH2-Protokoll für sichere Verbindungen zu Remotecomputern.

Pexpect – erzeugt eine untergeordnete Anwendung und steuert sie so, als würde ein Mensch Befehle eingeben.

Unterprozess – ist ein Standardbibliotheksmodul, daher ist es bei der Python-Installation verfügbar. Es hat jedoch den Ruf, schwer zu verwenden zu sein, da die API nicht intuitiv ist.

Siehe Links:

Python-Bibliotheken für die SSH-Behandlung

SSH-Programmierung mit Paramiko | Völlig anders

Core pexpect-Komponenten

Die einzige einfache Möglichkeit, SSH in Python auszuführen, ist heute die Verwendung von Subprozess + OpenSSH. .

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.