use*_*171 3 passwords ssh bash expect
我目前正在使用expect来传递密码,因此我的脚本可以自动运行,而不必坐下来并反复输入相同的密码.
重要提示:请不要评论这是多大的安全风险或者我应该如何使用ssh密钥,如果可以的话我会使用那些,但我必须使用的设置不允许它.
我的代码如下所示:
#!/bin/sh
PASS=mypassword
/usr/bin/expect -c "
spawn python Tools/python/install.py
expect -nocase \"password:\" {send \"$PASS\r\"; interact}
"
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是install.py提示输入相同的密码十几次,看来只能自动填写第一个提示的密码.
有没有办法修改行为,使其填写密码所有12次,而不仅仅是第一次?
你必须做一些编程.幸运的是答案非常简单:
#!/bin/sh
PASS=MyPassword
export PASS
/usr/bin/expect -c '
spawn python Tools/python/install.py
expect {
-nocase "password:" {
send "$env(PASS)\r"
exp_continue
}
"somthing_else_that_indicates_you're_ready_to_interact"
}
interact
'
Run Code Online (Sandbox Code Playgroud)
清理过的shell也引用了一点.
| 归档时间: |
|
| 查看次数: |
1701 次 |
| 最近记录: |