У меня есть код, который проходит через список устройств, подключается к ним через SSH и запрашивает некоторые параметры. Базовый код выглядит следующим образом: < /p>
ssh = paramiko.SSHClient()
ssh.connect(ip_address, username='root', password=password)
try:
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command('uname -r')
if ssh_stdout.channel.recv_exit_status() == 0:
temp = ssh_stdout.readlines()
if temp:
kernel_version = temp[0].strip('\n').strip('\"')
except BaseException as ex:
print(f'An exception occurred: {ex}')
try:
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command('lsb_release -rs')
if ssh_stdout.channel.recv_exit_status() == 0:
temp = ssh_stdout.readlines()
if temp:
ubuntu_version = temp[0].strip('\n').strip('\"')
except BaseException as ex:
print(f'An exception occurred: {ex}')
< /code>
Но есть много устройств, и для запуска требуется много времени. Запускать несколько команд за один раз за один раз: < /p>
try:
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command('uname -r; lsb_release -rs')
if ssh_stdout.channel.recv_exit_status() == 0:
temp = ssh_stdout.readlines()
if temp[0]:
kernel_version = temp[0].strip('\n').strip('\"')
if temp[1]:
ubuntu_version = temp[1].strip('\n').strip('\"')
except BaseException as ex:
print(f'An exception occurred: {ex}')
< /code>
Но как я могу обработать одну передачу команды и одну неудачу? Есть ли лучший способ сделать это?
Подробнее здесь: https://stackoverflow.com/questions/796 ... -in-python
Как я могу запустить несколько команд на SSH за один раз с Paramiko в Python? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как я могу запустить несколько команд на SSH за один раз с Paramiko в Python?
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-