Was ist der pythischste Weg, um eine Datei in Python zu scannen? Der einzige Weg, den ich bewusst bin, istWie scp in Python?
os.system('scp "%s" "%s:%s"' % (localfile, remotehost, remotefile))
, die einen Hack ist, und welche außerhalb Linux-ähnlichen Systemen nicht funktioniert, und die Hilfe vom Pexpect Modul benötigt Passwort zu vermeiden, fordert, wenn Sie bereits passwordless haben SSH für den Remote-Host eingerichtet.
Ich kenne Twisted conch
, aber ich würde es vorziehen, scp selbst zu implementieren über Low-Level-ssh-Module.
Ich kenne paramiko
, ein Python-Modul, das ssh und sftp unterstützt; aber es unterstützt nicht scp.
Hintergrund: Ich bin eine Verbindung zu einem Router, der sftp nicht unterstützt, aber unterstützt ssh/scp, so sftp ist keine Option.
BEARBEITEN: Dies ist ein Duplikat von How to copy a file to a remote server in Python using SCP or SSH?. Allerdings, diese Frage gibt keine scp-spezifische Antwort, die Schlüssel aus Python behandelt. Ich hoffe auf eine Art und Weise Code Art zu laufen wie
import scp
client = scp.Client(host=host, user=user, keyfile=keyfile)
# or
client = scp.Client(host=host, user=user)
client.use_system_keys()
# or
client = scp.Client(host=host, user=user, password=password)
# and then
client.transfer('/etc/local/filename', '/etc/remote/filename')
Der einzige Grund, der 'nix funktioniert, ist, haben Sie SCP auf dem Weg; wie Blauohr betont, ist das nicht schwer zu beheben. +1 – ojrac