Thread ssh-Login Test (8 answers)
Opened by Astralkeks at 2012-07-31 11:36

Astralkeks
 2012-07-31 11:36
#160309 #160309
User since
2012-07-17
40 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich möchte prüfen, ob ein ssh-Login erfolgreich ist, oder nicht.
Ich nutze dazu net::ssh::perl, und folgendes - so dachte ich - führt den Test durch:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
      
use Net::SSH::Perl;
my ($host,$user,$pw) = @_;
my $cmd = "ls";

my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user, $pw);
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);

return $exit;

Sinn sollte sein, über den RC zu sehen, ob das "ls" abgesetzt werden konnte oder nicht. Allerdings stirbt er - falls User/PW nicht zusammenpasst - schon bei der Zeile

Code: (dl )
$ssh->login($user, $pw);

mit einem Permission denied und bricht das Script komplett ab. Aber auf eine fehlerhafte User/PW-Kombi soll ja genau getestet werden.

Der Versuch, den RC des logins mitabzufangen führt zum gleichen Ergebnis

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
      
use Net::SSH::Perl;
my ($host,$user,$pw) = @_;
my $rc = 0;
my $cmd = "ls";

my $ssh = Net::SSH::Perl->new($host);
$rc += $ssh->login($user, $pw);
my($stdout, $stderr, $exit) = $ssh->cmd($cmd);

$rc += $exit;
return $rc;


Jemand eine Idee? Vielleicht bin ich auch einfach nur blind.

View full thread ssh-Login Test