ti-enxame.com

SSHClient da Paramiko com SFTP

Como posso fazer o transporte SFTP através de SSHClient no servidor remoto? Eu tenho um host local e dois hosts remotos. Hosts remotos são servidor de backup e servidor web. Eu preciso encontrar no servidor de backup o arquivo de backup necessário e colocá-lo no servidor da Web por SFTP. Como posso fazer o transporte SFTP da Paramiko funcionar com SSHClient da Paramiko?

46
Denis

paramiko.SFTPClient

Exemplo:

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