2010-01-25 100 views
3

我需要一個基於paramiko的文件傳輸的方法與輕量級SSH2服務器(dropbear),它不支持SCPSFTP。是否有實現的貓和重定向風格的文件傳輸方式,如:管道控制和輸入/輸出管道的等價paramiko

ssh server "cat remote_file" > local_file 

paramiko渠道?

可以paramiko.Transport.open_channel()或Message()來完成這項工作嗎?我不確定如何繼續。

回答

3

以下可以作爲起始點有用(例如./sshpipe主機 「命令」):

#! /usr/bin/env python 

import sys 
import paramiko 

def sshpipe(host, line) : 
    client = paramiko.SSHClient() 
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
    client.connect(host) 
    stdin, stdout, stderr = client.exec_command(line) 
    output = stdout.read() 
    sys.stdout.write(output) 
    stdin.close() 
    stdout.close() 
    stderr.close() 
    client.close() 

sshpipe(sys.argv[1], sys.argv[2])