使用 pywinauto 确认 PuTTY 主机密钥提示
Confirm PuTTY host key prompt with pywinauto
我正在尝试使用 pywinauto 自动执行 PuTTY 接口一切正常,除了我需要按 y 以在警报 window 弹出时接受主机密钥的部分向上。我正在使用 PuTTY 界面,因为它连接到一个交互式界面,而不仅仅是普通的 ssh。
这是我的代码。我想知道为什么当我发送 y 或 Enter 时,它对弹出窗口没有影响 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 实现。)
我正在尝试使用 pywinauto 自动执行 PuTTY 接口一切正常,除了我需要按 y 以在警报 window 弹出时接受主机密钥的部分向上。我正在使用 PuTTY 界面,因为它连接到一个交互式界面,而不仅仅是普通的 ssh。
这是我的代码。我想知道为什么当我发送 y 或 Enter 时,它对弹出窗口没有影响 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 实现。)