Я пишу код Python для удаленных хостов SSH или Telnet, выполняю некоторые команды и получаю вывод результатов.Здесь у нас есть сервер Jump, поэтому код должен быть «связан» с этим сервером и с него, Telnet или SSH, с удаленными хостами.
Все мои подходы работают нормально на сервере Jump, например, я могу получитьвывод команд внутри него.Проблема в том, когда я пытаюсь удаленно подключиться к хостам с него.
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('IP', 22, username="user", password="pass")
stdin, stdout, stderr = client.exec_command("command")
for line in stdout:
print('... ' + line.strip('\n'))
client.close()
Использование библиотеки jumpssh дает те же результаты, и я не могу подключиться к хостам Telnet.Я попробовал следующий подход, но получил ошибку
Административно запрещено.
from jumpssh import SSHSession
gateway_session = SSHSession('jumpserver','user', password='pass').open()
remote_session = gateway_session.get_remote_session('IP',password='pass')
print(gateway_session.get_cmd_output('command'))
В последней компании, где я работал, у нас была лицензия от клиента SSH, который поддерживаетСценарии Python и отлично работали в более «текстовой» обработке.
Есть ли способ выполнить ту же задачу изначально в Python?