Python, Paramiko: ¿Cómo hacer un “ssh -n user @ host cmd” usando paramiko?

Estoy tratando de ejecutar un comando de forma remota a través de SSH desde Python, y en este caso particular necesito que el código estándar sea ​​redirigido a / dev / null.

Es decir, lo mismo que usar el cliente OpenSSH con su marca -n:

ssh -n user@host cmd 

¿Cómo logras esto (-n) con Paramiko ?

paramiko.SSHClient.exec_command () no parece permitir esto, pero tal vez me esté perdiendo algo.

A menos que entienda su pregunta incorrectamente: no necesita lograr esto. Nada se lee automáticamente de la entrada estándar / escrita en la entrada estándar del proceso remoto a menos que usted mismo lo haga explícitamente. ¿Entonces no necesitas evitar que la lectura de stdin suceda?

EDITAR: ¿podría haber un problema si el proceso remoto espera datos en la entrada estándar y sigue esperando? Intente llamar a shutdown_write() en el canal:

 stdin, stdout, stderr = client.exec_command(cmd) stdin.channel.shutdown_write() 

Me gustaría deshacerme de paramiko y empezar a usar telas . Te permitirá hacer llamadas remotas en el sistema. Utiliza paramiko para la conexión ssh y proporciona una interfaz limpia y agradable para hacer mucho más.

No estoy seguro de por qué necesitas ingresar stdin a / dev / null pero hay configuraciones para suprimirlo con el tejido.

¡Buena suerte!