Подтвердите запрос ключа хоста PuTTY с помощью pywinauto - PullRequest
3 голосов
/ 11 декабря 2019

Я пытаюсь автоматизировать интерфейс PuTTY с pywinauto, все работает, кроме той части, где мне нужно нажать y , чтобы принять ключи хоста, когда всплывает окно с предупреждением. Я использую интерфейс PuTTY, потому что он подключается к интерактивному интерфейсу, а не просто к обычному ssh.

Вот мой код. Мне интересно, почему, когда я отправляю y или Enter , это не влияет на всплывающее окно:

def config_dp(hostname, cm_temp_ip, new_ip):
    first_connect(cm_temp_ip)
    app = Application ().Start (cmd_line=u'putty.exe admin@'+cm_temp_ip+' -pw BLAHBLAHJ')
    putty = app.PuTTY
    putty.type_keys("y")
    putty.wait('ready')
    time.sleep(3)
    putty.type_keys("2")
    putty.type_keys("{ENTER}")
    putty.type_keys("2")
    putty.type_keys("{ENTER}")
    putty.type_keys(hostname)
    putty.type_keys("{ENTER}")
    putty.type_keys("{ENTER}")
    time.sleep(3)
    putty.type_keys("U")
    putty.type_keys("3")
    putty.type_keys("{ENTER}")
    putty.type_keys("{ENTER}")
    putty.type_keys("2")
    putty.type_keys("{ENTER}")
    putty.type_keys(new_ip+"/24")
    putty.type_keys("{ENTER}")
    time.sleep(5)
    putty.close()
    first_connect(new_ip)
    reboot(new_ip)
    time.sleep(60)
    enable_root(new_ip)

1 Ответ

2 голосов
/ 11 декабря 2019

Не автоматизировать проверку ключа хоста. Вместо этого используйте ключ командной строки -hostkey , чтобы предоставить отпечаток действительного ключа хоста.

Можно ли передать ключ хоста RSA сервера в качестве параметра командной строки PuTTY?


(Оставляя в стороне, почему вы хотите автоматизировать PuTTY, вместо использования собственной реализации Python SSH.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...