LinuxForum.Fans
Тема

Возможно ли скрипт управления?

Автор: Kettler 18 сообщений 3635 просмотров
#114692

Есть такая проблема нужен скрипт например.
1 автоматически подключаеться по ssh
2 sudo /etc/init.d/gdm stop
3 автоматически водит пароль root
4 закрывает сессию

Возможно ли как нибудь реализовать?
Я просто в програминге не силён.

Осталось ток проблема ввода пароля)

#114695

Kettler,
Для этого существует приблуда, которая называется expect. С помощью нее можно сделать все вышеуказанное

#114701

Сама прога пишется при этом на перле

#114703

прикольно но брррр мне програмировать не дано ну если ток так по мелочи smile

#114704

Вот пример логина через телнет:

text
        my $telnet = new Net::Telnet ("remotehost") # see Net::Telnet
           or die "Cannot telnet to remotehost: $!\n";;
         my $exp = Expect->exp_init($telnet);

# deprecated use of spawned telnet command # my $exp = Expect->spawn("telnet localhost") # or die "Cannot spawn telnet: $!\n";;

my $spawn_ok; $exp->expect($timeout, [ qr'login: $', sub { $spawn_ok = 1; my $fh = shift; $fh->send("$username\n"); exp_continue; } ], [ 'Password: $', sub { my $fh = shift; print $fh "$password\n"; exp_continue; } ], [ eof => sub { if ($spawn_ok) { die "ERROR: premature EOF in login.\n"; } else { die "ERROR: could not spawn telnet.\n"; } } ], [ timeout => sub { die "No login.\n"; } ], '-re', qr'[#>:] $', #' wait for shell prompt, then exit expect );

#114705
Kettler написал:
прикольно но брррр мне програмировать не дано ну если ток так по мелочи smile

Попроси кого-нить

#114707

не проверял но примерно так
[console]ssh login@host "echo password | sudo -S /etc/init.d/gdm stop"[/console]

#114711

odin,
вот это

text
echo password

не проканает

#114714

Hvzh, посмотрите man по sudo ....

#114716

odin,
А sudo тут не при чем. До него и не дойдет. залогиниться автоматом не получится

#114717

Btw, если бы было все так просто, то expect наверняка бы не написали и не юзали

#114719

Hvzh, а кто сказал что человек не использует авторизацию по ключу ?

#114721

odin,
А зачем тогда пароль?

#114723

кстати, в ТЗ прописано:

text
3 автоматически водит пароль root
#114725

Hvzh, и какой "умный" человек написал такое ТЗ....


-S
The -S (stdin) option causes sudo to read the password from standard input instead of the terminal device.
#114728

Спасибо odin завелось с первого пенька. Да а вот про эт параметр не знал.
Авторизация ssh по ключу зделал. И скрипт пашет как положенно.
Урря почти сервер довёл до ума)

#114729

пожалуйста ...

Войдите или зарегистрируйтесь, чтобы ответить.