期望脚本在两台服务器之间进行远程SSH

时间:2016-01-25 15:43:18

标签: linux bash ssh expect

我是新手,希望编写脚本,我有一个案例,我需要在包含我们的备份的服务器上运行脚本,该备份将向我的防火墙设备发送命令,该命令将备份发送到内部FTP服务器。我的片段是

#!/usr/bin/expect
set PASS="password"
spawn ssh admin@10.3.0.1 -p 4118   #Firewall Device IP
expect "Password:" 
send "$PASS\r"

由于某种原因,当自己运行这一小段代码时,它仍然要求输入密码。

我应用了Joao Vitorino建议的更改,它不再要求输入密码,但是却抛出了这些错误:

   TEST.sh: spawn: not found
   TEST.sh: expect: not found
   TEST.sh: send: not found

1 个答案:

答案 0 :(得分:0)

#!/usr/bin/expect
set PASS "password"
spawn ssh admin@10.3.0.1 -p 4118   #Firewall Device IP
expect "password: " 
send "$PASS\r"

Set必须像“set varname varValue”一样使用。没有等号(=)符号