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