J'utilise le paquetage Paramiko Python pour exécuter des commandes via SSH. Je peux obtenir une sortie vers stdout, mais comment faire pour que stdout, stderr et stdin soient correctement redirigés vers ceux de sys ?
Le code ci-dessous n'afficherait que "stdout1" et "stdout2" sur stdout. Comment faire pour que "stderr" s'affiche correctement ? Et de préférence aussi un support pour stdin ?
import paramiko
ssh = paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect("localhost")
stdin, stdout, stderr = ssh.exec_command("echo stdout1 >&1; echo stderr >&2; echo stdout2 >&1")
ch = stdout.channel
while True:
bs = ch.recv(1)
if not bs:
break
print(bs.decode("utf-8"), end="")