2012-07-16 31 views
12

Tôi đang sử dụng gói paramiko Python để giữ một ssh-kết nối với một máy chủ:Làm thế nào để chuyển một tập tin vào máy chủ ssh trong một kết nối ssh được thực hiện bởi paramiko?

s = paramiko.SSHClient() 
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4) 

Tôi muốn sử dụng này ssh-kết nối để chuyển một tập tin đến máy chủ ssh, làm thế nào tôi có thể làm gì?

Cũng giống như sử dụng scp a-file [email protected]:filepath lệnh?

Trả lời

16

Hãy thử điều này:

s = paramiko.SSHClient() 
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
s.connect("xxx.xxx.xxx.xxx",22,username=xxx,password='',timeout=4) 

sftp = s.open_sftp() 
sftp.put('/home/me/file.ext', '/remote/home/file.ext') 
+0

Khi tôi cố gắng này, tôi nhận được thông báo lỗi: đối tượng 'SSHClient' không có thuộc tính 'open_stfp'. – blueberryredbull

+0

@sandwich_messiah: Bạn sử dụng phiên bản Paramiko nào? Tôi thấy rằng mã hoạt động tốt với phiên bản mới nhất - 2.1. – Tisho

+0

Tôi đang sử dụng 2.0.2. Tôi đã kết thúc việc tạo một đối tượng Transport, tạo một SFTPClient từ việc vận chuyển và sử dụng – blueberryredbull

Các vấn đề liên quan