Paramiko equvalent of pipeline controls and input/output pipes
I need a method of paramiko based file transfer with a ligh开发者_如何学Gotweight SSH2 server (dropbear) which has no support for SCP or SFTP. Is there a way of achieving a cat and redirect style file transfer, such as:
ssh server "cat remote_file" > local_file
with paramiko channels?
Can paramiko.Transport.open_channel() or Message() do the job? I am unsure of how to proceed.
The following may be useful as a starting point (e.g. ./sshpipe host "command"):
#! /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])
精彩评论