Столкнулся с фактом:
#!/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 туннелирование?
expect
>Столкнулся с фактом:
>#!/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
>>Столкнулся с фактом:
>>#!/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");
>[оверквотинг удален]
> $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