Necesito ejecutar una lista de comandos de manera seriada, siempre esperando a que el anterior haya terminado su ejecución. Intenté poner un temporizador entre stdin.write()
y ejecutarlo nuevamente, pero o se escribe antes o simplemente el proceso se queda colgado.
import paramiko import time ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy) ssh.connect('localhost', username='username', password='pass') channel = ssh.invoke_shell() stdin = channel.makefile('wb') stdout = channel.makefile('rb') stdin.write('comando de ejemplo', ) time.sleep(4) stdin.write('exit') while True: print(stdout.readline()) if stdout.channel.exit_status_ready(): break stdout.close() stdin.close() ssh.close()
Agradezco mucho su ayuda