Hi, ich will remote die Passwörter eines Users in der passwd ändern. Dazu folgendes Script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use strict;
use warnings;
use Net::SSH::Perl;
my($host, $username, $new_password, $old_password);
$host = "IPADRESSE";
$username = "USERNAME";
$old_password = "PASSWORD";
my $ssh = Net::SSH::Perl->new($host, debug => 1, protocol => 2);
$ssh->login($username, $old_password);
$ssh->register_handler("stderr", sub {
my($channel, $buffer) = @_;
my $str = $buffer->bytes;
if ($str eq "(current) UNIX password: ") {
$channel->send_data($old_password);
}
elsif ($str eq "New UNIX password: ") {
$channel->send_data($new_password);
}
elsif ($str eq "Retype new UNIX password: ") {
$channel->send_data($new_password);
}
});
$ssh->cmd('passwd');
Allerdings scheiter ich an einer Abhängigkeit von Net::SSH::Perl
"Can't locate Math/Pari.pm in @INC"
Ich schaffe es einfach nicht dieses Modul zu installieren. Ich hatte mir Math-Pari-2.010800 als tar.gz runtergeladen, allerdings scheitere ich beim "make" mit dem Fehler:
make[1]: *** [init.o] Fehler 1
make[1]: Leaving directory `/home/slarisch/Math-Pari-2.010800/libPARI'
make: *** [libPARI/libPARI.a] Fehler 2
Jemand eine Idee oder Alternative???