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
#################################
#!/usr/bin/perl -w
use strict; # declare the info before use
#################################
# packages
################################
use Net::SSH2; # ssh modul
##############################
# parameter definition
##############################
my $host = "192.168.178.15"; # Labor Linux PC
my $login = "foobar";
my $pw = "FoobarPW";
my $socket = Net::SSH2->new(); # ssh Socket
my $channel= $socket->channel(); # transfer tunnel
##############################
# main programm
##############################
$socket ->connect($host) or die("connect(): $!\n"); # establish the connection
if ($socket->auth_password($login,$pw))
{
$channel ->shell(); # shell command
print $channel "uname -a\n";
select(undef,undef,undef,0.2);
$channel->close; # cut the tunnel
} else {
warn "auth failed.\n";
}
perldoc Net::SSH2debug ( state )
Class method (affects all Net::SSH2 objects). Pass 1 to enable, 0 to disable. Debug output is sent to stderr via warn.
QuoteDeutsche Fehlermeldung? Was ist denn das für ein System auf dem du mit dem Perl-Programm bist?connect(): Die Ressource ist zur Zeit nicht verfügbar
$socket->debug(1);
2011-10-20T09:12:08 cohamaDiese Fehlermeldung erscheint stets.
connect(): Die Ressource ist zur Zeit nicht verfügbar
1 2 3 4 5 6 7 8 9 10 11 12 13
$ssh->auth_password($ssh_user,$ssh_pass); if ($ssh->auth_ok()) { my $session = $ssh->channel(); $session->exec('uname -a'); while ($session->read(my $answer,1024)) { print $answer; } $session->close(); $ssh->disconnect(); } else { print STDERR "authentication failed\n"; }
QuoteWas ich schon gestern auch schon in msg #153360 anmerkte. ;)Du kannst keinen channel anfordern bevor du die Verbindung aufgebaut und dich eingeloggt hast.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$socket ->connect($host) or die("connect(): $!\n"); # establish the connection
print "Connection to Server established \n";
$session->auth_password($luser,$pw);
if ($session->auth_ok())
{
$channel =$session->channel(); # shell command
print $channel "uname -a\n";
while ($channel->read($resp,1024)) {
print $resp;
}
$channel->close();
$session->disconnect();
}
else {
print STDERR "authentication failed\n";
}
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
35
36
37
38
39
40
41
#################################
#!/usr/bin/perl -w
use strict; # declare the info before use
#################################
# packages
################################
use Net::SSH2; # ssh modul
##############################
# parameter definition
##############################
my $host = '192.168.93.135'; # Labor Linux PC
my $luser = "foobar";
my $pw = "FoobarPW";
my $socket = Net::SSH2->new(); # ssh Socket
my $session; # Authentication
my $channel; #
my $resp; # Server Answer
##############################
# main programm
##############################
system("clear"); # Refresh the commands
$socket ->connect($host) or die("connect(): $!\n"); # establish the connection
print "Connection to Server established \n";
$socket->auth_password($luser,$pw);
if ($socket->auth_ok())
{
$channel =$socket->channel(); # shell command
print "Channel ready\n";
$channel->exec('uname -a'); # run command at ssh-Server
print "Command tranfert \n";
while ($channel->read($resp,1024)) { # get the Response
print $resp;
}
$channel->close();
$socket->disconnect();
}
else {
print STDERR "authentication failed\n";
}