A sessão do Paramiko atinge o tempo limite, mas eu preciso executar muitos comandos

Estou trabalhando em um script (python 2.7) que funciona com um dispositivo remoto executando o Cisco IOS, por isso preciso executar muitos comandos por meio do ssh. Poucos comandos não têm saída e alguns deles têm, e eu quero receber a saída. É algo como isto:

import paramiko
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(self._ip, port=22, username=username, password=password
stdin, stdout, stderr = ssh.exec_command('command with no output')
stdin, stdout, stderr = ssh.exec_command('command with no output')
stdin, stdout, stderr = ssh.exec_command('command with output')
sh_ver = stdout.readlines()

A coisa éexec_command Isso faz com que o canal seja fechado e não possa ser reutilizado, mas não é possível abrir um novo canal para executar outro comando, porque esta é uma sessão de comandos que, no final, preciso obter a saída.

Eu tentei executar os comandos dessa maneira também:

stdin, stdout, stderr = ssh.exec_command('''
command
command
command
''')
output = stdout.readlines()

mas assimoutput está vazia. E mesmo que não funcione, preciso executar algumas verificações nooutput e continue a sessão em que parei.

Então o que eu preciso? Uma maneira de gerenciar essa conexão ssh sem fechá-la ou iniciar uma nova e receber facilmente a saída do comando.

Agradecemos antecipadamente, Miri. :)

questionAnswers(2)

yourAnswerToTheQuestion