web-dev-qa-db-ja.com

SFTPを使用したParamikoのSSHClient

リモートサーバーでSSHClientを介してSFTPトランスポートを作成するにはどうすればよいですか?ローカルホストと2つのリモートホストがあります。リモートホストは、バックアップサーバーとWebサーバーです。バックアップサーバーで必要なバックアップファイルを見つけて、SFTP経由でWebサーバーに配置する必要があります。 ParamikoのSSHClientでParamikoのSFTPトランスポートを機能させるにはどうすればよいですか?

46
Denis

paramiko.SFTPClient

例:

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