使用 pywinauto 确认 PuTTY 主机密钥提示

Confirm PuTTY host key prompt with pywinauto

我正在尝试使用 pywinauto 自动执行 PuTTY 接口一切正常,除了我需要按 y 以在警报 window 弹出时接受主机密钥的部分向上。我正在使用 PuTTY 界面,因为它连接到一个交互式界面,而不仅仅是普通的 ssh。

这是我的代码。我想知道为什么当我发送 yEnter 时,它对弹出窗口没有影响 window:

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)

不自动验证主机密钥。而是使用 -hostkey command line switch 提供有效主机密钥的指纹。


(撇开为什么要自动化 PuTTY,而不是使用本机 Python SSH 实现。)