Эквивалент Paramiko управления трубопроводами и трубопроводов ввода / вывода - PullRequest
3 голосов
/ 25 января 2010

Мне нужен метод передачи файлов на основе paramiko с облегченным SSH2 сервером ( dropbear ), который не поддерживает SCP или SFTP . Есть ли способ добиться передачи файлов в стиле cat и redirect, например:

ssh server "cat remote_file" > local_file

с парамико каналами?

Может ли paramiko.Transport.open_channel () или Message () выполнять работу? Я не уверен, как поступить.

1 Ответ

3 голосов
/ 25 января 2010

Следующее может быть полезно в качестве отправной точки (например, ./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])
...