Не нашел инфы по нему, по этому пишу сюда...
Как реализовать такую вещь... надо чтобы скрипт содинялся по ssh и в заыисимости от ответа посылал бы определнную команду...
К примеру, простой скрипт для авторизации:#!/usr/bin/perl
use Expect;
$swith = "10.0.0.1";my $exp = Expect->spawn("ssh $swith");
$exp->expect($timeout,
[ 'UserName:' => sub {
$exp->send("admin\n");
exp_continue; }
],[ 'PassWord:' => sub {
$exp->send("admin\n");
exp_continue; }
],
'-re', qr'DES:'
);$exp->send($timeout,"logout\n");
$exp->soft_close();Надо добавить если в ответ на Expect->spawn("ssh $swith") придет не стандартный 'UserName:', а типа:
The authenticity of host '77.247.215.100 (77.247.215.100)' can't be established.
RSA key fingerprint is 99:33:39:ee:76:77:bc:69:b6:15:39:25:8e:0e:cb:f7.
Are you sure you want to continue connecting (yes/no)?
то посылал бы команду 'yes' и т.д.!
>Не нашел инфы по нему, по этому пишу сюда...
>Как реализовать такую вещь... надо чтобы скрипт содинялся по ssh и в
>заыисимости от ответа посылал бы определнную команду...
>
>Надо добавить если в ответ на Expect->spawn("ssh $swith") придет не стандартный 'UserName:', а типа:
>The authenticity of host '77.247.215.100 (77.247.215.100)' can't be established.
>RSA key fingerprint is 99:33:39:ee:76:77:bc:69:b6:15:39:25:8e:0e:cb:f7.
>Are you sure you want to continue connecting (yes/no)?
>то посылал бы команду 'yes' и т.д.!А ты examples к Expect смотрел?
>А ты examples к Expect смотрел?спасибо, вроде разобрался...
А кто знает как вывод в файл записать?
Из перла что-ли?
open FH,'>', "/path/file"
print FH "текст и даже с подстановкой переменной $data"
close FH
Ну или просто использовать перенаправление в шелле
Так не пройдет!
Всем спачибо, читать тут http://www.osp.ru/pcworld/2003/07/165973/
Что и куда у тебя не пройдет, выражайся яснее.
>[оверквотинг удален]
>);
>
>$exp->send($timeout,"logout\n");
>$exp->soft_close();
>
>Надо добавить если в ответ на Expect->spawn("ssh $swith") придет не стандартный 'UserName:', а типа:
>The authenticity of host '77.247.215.100 (77.247.215.100)' can't be established.
>RSA key fingerprint is 99:33:39:ee:76:77:bc:69:b6:15:39:25:8e:0e:cb:f7.
>Are you sure you want to continue connecting (yes/no)?
>то посылал бы команду 'yes' и т.д.!Как в Перле не знаю, но с expect-ом последовательность действий такая - exp_send и ждешь реакции (expect), ответ получен - тогда снова send.
А тут у вас цикла нет, зато есть ожидание двух ответов.
Кстати, у ssh есть возможность входа без ввода паролей - по ключу или билетику...
Это - так, к слову...