use strict; use warnings; use Net::SSH::Expect; my $ssh = Net::SSH::Expect->new( host => $ip, password => $pass, user => 'root', raw_pty => 1 ); my $login_output = $ssh->login(); sleep 10; # run arbitrary commands, like $ssh->exec("ls -l /");