Как понять создание туннеля SSH для удаленного хоста через сервер прыжков и автоматизировать его с помощью Python - PullRequest
0 голосов
/ 20 апреля 2019

Ниже приведены ручные шаги, которые мы выполняем для подключения к удаленному серверу Linux через putty,

  1. Введите в командной строке приведенную ниже команду:

    "C:\Program Files (x86)\PuTTY\putty" -P 4422 xxxx.yyyy.com\eid@zzzz.yyyy.com\eid@servername@aaaa.yyyy.com -L 50001:servername:22

  2. Он автоматически откроет сеанс замазки, где мы будем предоставлять пароль (system pwd), а затем запросит пароль rsa, который мы должны предоставить при его генерации.

После выполнения вышеуказанных операций он войдет в систему на удаленном сервере.

После некоторых исследований я обнаружил, что они используют промежуточный хост для подключения к удаленному хосту и выполняют локальныйпереадресация портов.

Есть ли способ автоматизировать вход в систему удаленного хоста и выполнять некоторые операции, такие как перемещение файла по определенному пути, копирование некоторых файлов с локального на удаленный хост и выполнение программы на C, предоставляя соответствующие параметры?

Перед этой реализацией входа в систему, мы можем напрямую войти на сервер, используя имя пользователя и пароль, и я автоматическисопрягать его через библиотеку paramiko в Python.Пожалуйста, найдите ниже код для справки,

        client = paramiko.SSHClient()
        # Set SSH key parameters to auto accept unknown hosts
        client.load_system_host_keys()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        #connect to host
        client.connect(hostname=host, username=user, password=pwd)
        with SSHClientInteraction(client, timeout=10, display=True) as interact:
            interact.send('cd ' +scripts_path)
            interact.send('./xxxx')
            interact.send('T')
            interact.send('A')
...