Hi All! Подскажите - как телнетом при помощи скрипта (или еще как:-) зайти в систему и передать login и passwd а затем команду. Для чего надо? - есть xDSL модем, у которого иногда виснет интерфейс тот который в кабель (PPPoE), а eth0 к машине живой остается. Вот и надо его при отсутствии пинга ребутнуть без участия человека...
>Hi All! Подскажите - как телнетом при помощи скрипта (или ещеrsh
>>Hi All! Подскажите - как телнетом при помощи скрипта (или еще
>
> rshАга, а passwd он не передает??? Или как??
>Ага, а passwd он не передает??? Или как??Ну если ваш модем поддерживает rsh то опишите на нем
юзера с паролем и ip-адресом откуда будет ходить...
>
>>Ага, а passwd он не передает??? Или как??
>
> Ну если ваш модем поддерживает rsh то опишите на нем
> юзера с паролем и ip-адресом откуда будет ходить...
В том то и дело, что не поддерживает...
>В том то и дело, что не поддерживает...Под какую платформу ?
Если под любую, тогда Perl + Net::Telnet отлично крутятся...
>>В том то и дело, что не поддерживает...
>
> Под какую платформу ?
>
> Если под любую, тогда Perl + Net::Telnet отлично крутятся...
Linux RH 7.3
Да беда в том что Perl'ом у меня слабовато...
>Linux RH 7.3
>Да беда в том что Perl'ом у меня слабовато...Да легко, Perl есть, находите на cpan.org или в портах модуль Net::Telnet
устанавливаем, смотрим в его документации пример , правим в нем
под себя адрес, пользователя и пароль и готово....
Вот сваял такой скриптик.
Запускаю так: ./script login passwd
Проблемка в том что логин он нормально передает, а вот пассворд нет.
Вылетает по таймауту - некому после логина ентер нажать:-))
Что посоветуете???#!/usr/bin/perl
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 50);
# Prompt => '/bash\$ $/');
$t->open("192.168.0.10");
$t->login($login, $password);
reboot
Извиняюсь, немного переделал скриптик#!/usr/bin/perl
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 20);
# Prompt => '/bash\$ $/');
$t->open("192.168.0.10");
$t->login($login, $password);
$t->cmd("reboot");
Используйте SSH2 и не майтесь дурью. Аутентификация - по ключам.
>Используйте SSH2 и не майтесь дурью. Аутентификация - по ключам.А-а, так вам на сам "модем" надо заходить... Тогда пардон. Не заметил.
Дорогой мой, какой такой SSH2 - ты знаеш модем который такое может??? Почитай сначала что надо сделать...
>#!/usr/bin/perl
В ж;;у перл.
bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) |telnet 192.168.1.1
>>#!/usr/bin/perl
>В ж;;у перл.
>bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) |telnet 192.168.1.1
Огромное спасибо!!! Проблема решена!!!
>>>#!/usr/bin/perl
>>В ж;;у перл.
>>bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) |telnet 192.168.1.1
>
>
>Огромное спасибо!!! Проблема решена!!!а если придется ждать дольше чем .... 2|2|..|5 sec
man expect
там есть много примеров...
>Hi All! Подскажите - как телнетом при помощи скрипта (или еще
>как:-) зайти в систему и передать login и passwd а затем
>команду. Для чего надо? - есть xDSL модем, у которого иногда
>виснет интерфейс тот который в кабель (PPPoE), а eth0 к машине
>живой остается. Вот и надо его при отсутствии пинга ребутнуть без
>участия человека...
expect.... самое правильное решение
>expect.... самое правильное решение+Tcl/tk + куча библиотек... ну..ну...
Самое простое ,конечно ежели человек с UUCP общался, то uucico,
там любые вещи творить можно штатными средствами..