gpt4 book ai didi

mysql - Tcl Expect 保持 SSH Spawn 打开

转载 作者:行者123 更新时间:2023-11-29 23:17:53 36 4
gpt4 key购买 nike

我想打开一个生成 SSH 连接,然后在 MySQL 服务器上查询新用户(循环),如果找到新用户,则应通过 Expect 将命令发送到此 SSH 连接。

我不知道这是否可能,到目前为止,当我在 MySQL 查询后尝试“发送”命令时,我总是杀死 ssh.exe。

我希望 SSH 打开,因为使用 Expect 登录需要 10 秒(主机很慢),而且我不希望每次创建用户时都暂停。

我该怎么做?

我在做什么:

...
set db [::mysql::connect -host 127.0.0.1 -user root -password **** -db test]
spawn ssh admin@192.168.1.2
expect {
timeout { send_user "\nFalscher SSH User admin!\n"; exit 1 }
"User:"
}
send "admin\r"
expect {
timeout { send_user "\nFalscher SSH User admin!\n"; exit 1 }
"Password:"

}
send "******\r"

set x = 1
while {$x>0} {
set query [::mysql::query $db {SELECT username, passwort FROM users WHERE erstellt='0'}]
while {[set row [::mysql::fetch $query]]!=""} {
set username [lindex $row 0]
set passwort [lindex $row 1]
send "create user...;\r"
}
::mysql::endquery $query
after 2000
}

最佳答案

我通过将预期输出保存到文件中解决了这个问题。在后台启动后,ssh 想要验证我的 ssl 指纹。接受后,效果很好。

关于mysql - Tcl Expect 保持 SSH Spawn 打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27599806/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com