The OpenNET Project / Index page

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

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

"sudo и net::SSH::Perl"  
Сообщение от morzo email(ok) on 14-Мрт-07, 10:43 
Столкнулся с фактом:
#!/usr/bin/perl
use Socket;
use Net::SSH::Perl;
$host = "host";
my $ssh = Net::SSH::Perl->new($host, debug=>1, use_pty=>11);
$ssh->login("username", "pass");
@cd = $ssh->cmd("/usr/local/bin/sudo /bin/bash");
print "cmd result = @cd";

cmd result = Password:

Вопросы:
- Можно ли как нибудь передать пароль через ssh туннель ?
- Если нет, то что можно сделать чтобы в sudoers (sudo) не выставлять флаг NOPASSWD ?
- Как обойти sudo используя ssh туннелирование?

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

 Оглавление

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


1. "sudo и net::SSH::Perl"  
Сообщение от pavel_simple (ok) on 14-Мрт-07, 10:44 
expect

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

2. "sudo и net::SSH::Perl"  
Сообщение от chip email(ok) on 14-Мрт-07, 11:04 
>Столкнулся с фактом:
>#!/usr/bin/perl
>use Socket;
>use Net::SSH::Perl;
>$host = "host";
>my $ssh = Net::SSH::Perl->new($host, debug=>1, use_pty=>11);
>$ssh->login("username", "pass");
>@cd = $ssh->cmd("/usr/local/bin/sudo /bin/bash");
>print "cmd result = @cd";
>
>cmd result = Password:
>
>Вопросы:
> - Можно ли как нибудь передать пароль через ssh туннель ?
>
> - Если нет, то что можно сделать чтобы в sudoers (sudo)
>не выставлять флаг NOPASSWD ?
> - Как обойти sudo используя ssh туннелирование?

Стоит посмотреть в сторону empty, если она не устроит своими возможностями - на компбайн expect

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

3. "sudo и net::SSH::Perl"  
Сообщение от morzo email(ok) on 19-Мрт-07, 12:58 
>>Столкнулся с фактом:
>>#!/usr/bin/perl
>>use Socket;
>>use Net::SSH::Perl;
>>$host = "host";
>>my $ssh = Net::SSH::Perl->new($host, debug=>1, use_pty=>11);
>>$ssh->login("username", "pass");
>>@cd = $ssh->cmd("/usr/local/bin/sudo /bin/bash");
>>print "cmd result = @cd";
>>
>>cmd result = Password:
>>
>>Вопросы:
>> - Можно ли как нибудь передать пароль через ssh туннель ?
>>
>> - Если нет, то что можно сделать чтобы в sudoers (sudo)
>>не выставлять флаг NOPASSWD ?
>> - Как обойти sudo используя ssh туннелирование?
>
>Стоит посмотреть в сторону empty, если она не устроит своими возможностями -
>на компбайн expect

Большое спасибо! EXPECT рулит ! А вот решение кому интересно:
my $exp = Expect->spawn(
[
qr'Password: $', sub {
                        my $self = shift;
                        $self->send("somePASS\n");
                        exp_continue;
                     }
])
or die "Cannot spawn password !!!\n";
а далее выполняем
$ssh->cmd("/usr/local/bin/sudo someCOMMAND");

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

4. "sudo и net::SSH::Perl"  
Сообщение от b0br on 25-Фев-09, 14:02 
>[оверквотинг удален]
>                        $self->send("somePASS\n");
>            
>          
> exp_continue;
>            
>         }
>])
>or die "Cannot spawn password !!!\n";
>а далее выполняем
>$ssh->cmd("/usr/local/bin/sudo someCOMMAND");

Ниасилил. Мне больше подходит:

~]$ echo "Wfee9XaL" |sudo -H -S bash -c  "whoami"
root

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

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

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




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

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