web-dev-qa-db-fra.com

SSHClient de Paramiko avec SFTP

Comment puis-je effectuer le transport SFTP via SSHClient sur le serveur distant? J'ai un hôte local et deux hôtes distants. Les hôtes distants sont le serveur de sauvegarde et le serveur Web. J'ai besoin de trouver sur le serveur de sauvegarde le fichier de sauvegarde nécessaire et de le mettre sur le serveur Web via SFTP. Comment puis-je faire fonctionner le transport SFTP de Paramiko avec SSHClient de Paramiko?

46
Denis

paramiko.SFTPClient

Exemple:

import paramiko
paramiko.util.log_to_file('/tmp/paramiko.log')

# Open a transport

Host = "example.com"
port = 22
transport = paramiko.Transport((Host, port))

# Auth

password = "foo"
username = "bar"
transport.connect(username = username, password = password)

# Go!

sftp = paramiko.SFTPClient.from_transport(transport)

# Download

filepath = '/etc/passwd'
localpath = '/home/remotepasswd'
sftp.get(filepath, localpath)

# Upload

filepath = '/home/foo.jpg'
localpath = '/home/pony.jpg'
sftp.put(localpath, filepath)

# Close

sftp.close()
transport.close()
133
leoluk