这个问题已经有一个答案在这里:

我试图复制一文件从我的远程服务器到我的地方。这里是我的剧本运行,通过使用"预期"到automaticlally送密码

scp user@host:/folder/myFile ./
expect "Password: "
send "myPassword"

当我运行这一点,它还提示为"密码",什么是错的?

有帮助吗?

解决方案

从什么你想做这听起来像你这样可能会更好使用ssh与公共和私人钥匙。你可以google为ssh注册机教程的开始。

其他提示

虽然我同意萨姆和尼基,回答你的问题是,你没有"打输入":

send "mypassword\r"

这个脚本期望做的工作(谢谢 'zedwood' )

#!/usr/bin/expect -f
set filename [lindex $argv 0]
set timeout -1
spawn scp $filename myusername@192.168.1.123:/home/myusername/
set pass "mypassword"
expect {
        password: {send "$pass\r" ; exp_continue}
        eof exit
}

请不要离开这些脚本周围,将会拾起其他人和使用其他地方。...不要尝试 公用钥匙验证, 它是非常易于安装。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top