Задать вопрос
  • Автоматизация входа на устройство через Jumphost с целью передачи команд?

    @Angeyll Автор вопроса
    Перемудрёно там просто.
    Не надо никаких агентов, вот так все прекрасно работает:

    import paramiko

    jhost = '10.250.10.85'
    juser = 'frodo'
    jsecret = 'hdhdhdhdgfu#5'
    jport = 22

    dhost = '10.255.25.101'
    lhost = '0.0.0.0'
    duser = 'basy'
    dsecret = 'jtyuk4#yU'
    dport = 22

    jumpHost=paramiko.SSHClient()
    jumpHost.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    jumpHost.connect(hostname=jhost, username=juser, password=jsecret, port=jport)

    jumpHostTransport = jumpHost.get_transport()
    dest_addr = (dhost, 22)
    local_addr = (lhost, 22)
    jumpHostChannel = jumpHostTransport.open_channel('direct-tcpip', dest_addr, local_addr)

    destHost=paramiko.SSHClient()
    destHost.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    destHost.connect(hostname=dhost, username=duser, password=dsecret, sock=jumpHostChannel)

    stdin, stderr, stdout = destHost.exec_command("show ver | i uptime")

    print(stdout.read().decode())
    print(stderr.read().decode())

    destHost.close()
    jumpHost.close()
    Ответ написан
    Комментировать