#!/usr/bin/perl use warnings; use strict; use NET::SSH2; my $host = ""; # use the ip host to connect my $user = ""; # your account my $pass = ""; # your password my ($len, $buf); my $ssh2 = Net::SSH2->new(); #$ssh2->debug(1); if ($ssh2->connect($host)) { if ($ssh2->auth_password($user,$pass)) { #shell use my $chan = $ssh2->channel(); $chan->shell(); $chan->write("ls -a\n"); select(undef,undef,undef,0.2); print $buf while ($len = $chan->read($buf,512)) > 0; $chan->write("who\n"); select(undef,undef,undef,0.2); print $buf while ($len = $chan->read($buf,512)) > 0; #$chan->send_eof(); $chan->close; } else { warn "auth failed.\n"; } } else { warn "Unable to connect Host $@ \n"; }