Как отправить EOF в stdin в paramiko?

Я хотел бы выполнить некоторую программу через ssh и перенаправить его вход из файла. Поведение следующего кода:

channel.exec_command('cat')
with open('mumu', 'r') as f:
    text = f.read()
    nbytes = 0
    while nbytes < len(text):
        sent = channel.send(text[nbytes:])
        if sent == 0:
            break
        nbytes += sent

должно быть эквивалентно (принятие аутентификации с открытым ключом):

 ssh user@host cat < mumu

Однако приложение подвешивает ожидание более входа. Я думаю, что это происходит, потому что stdin поток никогда не закрывается. Как я делаю это?

5
задан Alexandru 31 March 2010 в 15:42
поделиться