У меня проблема с подключением трубопроводов к paramiko.
Это работает:
ssh = paramiko.SSHClient()
[...]
stdin, stdout, stderr = ssh.exec_command("find /tmp")
stdout.read()
Это работает не (блоки навсегда на stdout.read()):
[...]
stdin, stdout, stderr = ssh.exec_command("bash -")
stdin.write("find /tmp\n")
stdin.close()
stdout.read()
Любые идеи?
EDIT:
Я посмотрел исходный код paramiko, и ChannelFile.close на самом деле ничего не делает с точки зрения связи. Поэтому я посмотрел API канала, и это, похоже, работает:
stdin.write("find /tmp\n")
stdin.flush()
stdin.channel.shutdown_write()
stdout.read()