【问题标题】:Paramiko equvalent of pipeline controls and input/output pipes管道控制和输入/输出管道的 Paramiko 等价物
【发布时间】:2010-01-25 15:33:37
【问题描述】:
我需要一种基于 paramiko 的文件传输方法,该方法使用不支持 SCP 或 SFTP 的轻量级 SSH2 服务器 (dropbear)。有没有办法实现cat和redirect风格的文件传输,比如:
ssh server "cat remote_file" > local_file
有paramiko 频道?
paramiko.Transport.open_channel() 或 Message() 可以完成这项工作吗?我不确定如何继续。
【问题讨论】:
标签:
python
file
transfer
paramiko
【解决方案1】:
以下内容可能有用作为起点(例如 ./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])