2014-10-30 41 views
0

任何人都可以帮助下面的脚本有什么问题吗?它表示密码已成功更改,但密码仍为旧密码。我正在运行此脚本来更改检查点SPLAT防火墙专家密码,该密码使用ssh直接登录到专家模式。期望脚本使用ssh更改密码

#!/usr/bin/expect 
set username admin 
set oldpass sam$$$ 
set newpass abc.123 

spawn ssh -l $username 192.168.1.10 

expect "assword:" 
send "$oldpass\r" 
expect "# " 
sleep 1 
send "passwd\r" 
expect "Enter new expert password:" 
send "$newpass\r" 
expect "Enter new expert password (again):" 
send "$newpass\r" 
expect eof" 
expect "# " 
send "exit\n" 


[[email protected] ~]$ ./test.sh 
spawn ssh -l admin 192.168.1.10 
[email protected]'s password: 
Last login: Thu Oct 30 18:41:52 2014 from 192.168.1.5 
[[email protected]]# passwd 
Enter new expert password: 
Enter new expert password (again): 
Expert password has been changed 
+0

脚本对我来说很好看。由于“期待”而没有看到问题。可能是你失踪的其他东西。 – Dinesh 2014-10-30 14:09:56

回答

0

检查此,这对我有效。

#!/usr/bin/expect 
set timeout 20 
set user user2 
set password abc123 
set new bac234qwe.1 
set ip localhost 
spawn -noecho ssh -q -o StrictHostKeychecking=no "$user\@$ip" "passwd" 
expect "assword:" 
send "$password\r" 
expect "*UNIX password:" 
send "$password\r" 
expect "New password: " 
send "$new\r" 
expect "Retype new password:" 
send "$new\r" 
+0

[admin @ localhost〜] $ ./test14.sh ./test14.sh:line 8:spawn:command not found 无法读取文件“assword:”:无此文件或目录 ./test14.sh :第10行:发送:命令未找到 无法读取文件“* UNIX密码:”:没有这样的文件或目录 ./test14.sh:第12行:发送:命令未找到 无法读取文件“新建密码:“:没有这样的文件或目录 ./test14.sh:第14行:发送:命令未找到 无法读取文件”重新输入新密码:“:没有这样的文件或目录 ./test14.sh:line 16:发送:命令未找到 [admin @ localhost〜] $ – 2014-10-30 14:51:41

+0

给出'which expect'命令的输出。 – 2014-10-31 12:31:26

+0

嘿Shriharsha, – 2014-11-01 10:42:12