use warnings; use strict; use Net::SSH2; use Net::SSH2::Expect; my $ssh2 = Net::SSH2->new(); $ssh2->connect('192.168.XX.XXX') or die "Unable to connect Host $@ \n"; #this works for passwords $ssh2->auth_password('root','root') or die "Unable to login $@ \n"; my @array = ('whoami','su root', 'whoami'); foreach (@array){ my $chan = $ssh2->channel(); $chan->exec($_); my $buflen = 3000; my $buf1 = '0' x $buflen; $chan->read($buf1, $buflen); print "CMD1:\n", $buf1,"\n"; }