2014-01-23 146 views
1

我試圖登錄到遠程主機使用期望&產卵。自動執行此操作直到ssh [email protected]並提示密碼提示,並且在提供密碼時終止。這個腳本有什麼問題?密碼不提供ssh登錄

#!/usr/bin/expect
set timeout 9
passwrd=PASSWORD
username=USER_NAME
host=host.example.com

/usr/bin/expect << EOF

spawn ssh [email protected]$host
expect "Password:"
send "$passwrd\r"
interact

+0

最後一行是否意味着'ineract'?看起來應該說「互動」(完整的猜測在這裏)。這是你的問題或實際代碼中的拼寫錯誤嗎? – jonhopkins

+0

對不起,這是一個錯字。 –

回答

2

你混淆預計語法和shell語法。你想要:

#!/usr/bin/expect 
set timeout 9 
set passwrd PASSWORD 
set username USER_NAME 
set host host.example.com 

spawn ssh [email protected]$host 
expect "Password:" 
send "$passwrd\r" 
interact