Я хотел бы выполнить какую-то программу через 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 никогда не закрывается. Как мне это сделать?