Для 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
Комментариев нет:
Отправить комментарий