The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"expect"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"expect"  
Сообщение от lioncub email(??) on 21-Апр-08, 14:54 
Не нашел инфы по нему, по этому пишу сюда...
Как реализовать такую вещь... надо чтобы скрипт содинялся по 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' и т.д.!

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

  • expect, NuINu, 16:23 , 21-Апр-08, (1)  
    • expect, lioncub, 19:21 , 21-Апр-08, (3)  
      • expect, angra, 20:03 , 21-Апр-08, (4)  
        • expect, lioncub, 07:27 , 22-Апр-08, (5)  
          • expect, angra, 11:09 , 22-Апр-08, (6)  
  • expect, geekkoo, 16:26 , 21-Апр-08, (2)  

Сообщения по теме [Сортировка по времени | RSS]


1. "expect"  
Сообщение от NuINu (??) on 21-Апр-08, 16:23 
>Не нашел инфы по нему, по этому пишу сюда...
>Как реализовать такую вещь... надо чтобы скрипт содинялся по 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 смотрел?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "expect"  
Сообщение от lioncub email(ok) on 21-Апр-08, 19:21 
>А ты examples к Expect смотрел?

спасибо, вроде разобрался...

А кто знает как вывод в файл записать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "expect"  
Сообщение от angra (ok) on 21-Апр-08, 20:03 
Из перла что-ли?
open FH,'>', "/path/file"
print FH "текст и даже с подстановкой переменной $data"
close FH
Ну или просто использовать перенаправление в шелле
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "expect"  
Сообщение от lioncub email(??) on 22-Апр-08, 07:27 
Так не пройдет!
Всем спачибо, читать тут http://www.osp.ru/pcworld/2003/07/165973/
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "expect"  
Сообщение от angra (ok) on 22-Апр-08, 11:09 
Что и куда у тебя не пройдет, выражайся яснее.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "expect"  
Сообщение от geekkoo email(??) on 21-Апр-08, 16:26 
>[оверквотинг удален]
>);
>
>$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 есть возможность входа без ввода паролей - по ключу или билетику...
Это - так, к слову...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру