Hallo!
Ich experimentiere mit dem net:.ssh::perl skript herum und hab es soweit auch ans Laufen gebracht.. zumindest kann ich mich remote einloggen und commandos ausführen. Es sei denn das Kommando will ein Passwort haben wie z.B. scp:<login o.k.>
my $command = 'scp /opt/testfile.log netadmin@192.168.0.99:/home/netadmin/';
$ssh->register_handler(SSH_SMSG_STDERR_DATA, sub {
my($ssh, $packet) = @_;
my $str = $packet->get_str;
if ($str =~ /password:/) {
my $packet = $ssh->packet_start(SSH_CMSG_STDIN_DATA);
$packet->put_str($pass);
$packet->send;
}
});
$ssh->cmd($command);
Aus dem Beispielskript hab ich die Sache mit dem signal handler übernommen, glaube aber, dass das Problem da liegen muss. Der handler fängt mir nämlich nicht den scp Passwort Prompt ab:
'netadm@192.168.0.99's password:'
Hab jetzt schon so ziemlich alle MSG Type eingegeben aber ohne Erfolg. Weiss jemand Rat?
Datum: 06.09.2005-16:03
