Для expect нужно писать скрипт, например
#!/usr/bin/expect -f
spawn ftp -n -i
set timeout 10000
send "open $env(HOST)\n"
expect {
"Connected" {
send "user $env(USER) $env(PASS)\n"
}
default {
send_error "Error connect on $env(HOST)\n"
exit 2
}
}
expect {
-re "Login failed|incorrect" {
send_error "Invalid login on $env(HOST)\n"
exit 1
}
"logged in." {
send "passive on\n"
send "binary\n"
send "cd $env(DIR)\n"
}
timeout {
send_error "Timeout login on $env(HOST)\n"
exit 2
}
.....
(отсюда)
а для sshpass вызов такой:
sshpass -p [yourpassword] ssh [yourusername]@[host]
но у некоторых есть проблема с выходом - после exit соединение не рвется.
пример 2
rsync –rsh=’sshpass -p 12345 ssh -l test’ host.example.com:path
линки
sshpass Non-interactive ssh password authentication
Комментариев нет:
Отправить комментарий