2014-10-30 77 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