in reply to Re: Net::SSH2 limitation?
in thread Net::SSH2 limitation?

Thanks for the tip, salva. I am in the process of changing over to OpenSSH now to see if that resolves it. Looks like there is some weirdness happening due to the nature of the remote shell (very proprietary, does not adhere to any known standard of man or beast).

Replies are listed 'Best First'.
Re^3: Net::SSH2 limitation?
by bbarrette (Initiate) on Aug 03, 2015 at 14:36 UTC
    Update in case anyone else runs into this same problem in the future: I tried porting my code to use Net::OpenSSH but due to the platform I am targeting, I just could not get it working properly. The entire connection would sever and then re-establish and prompt for password after each command. I also had the same issue with Net::SSH::Expect. The solution I came up with was to implement a counter and after 20 iterations, sever the connection cleanly and re-establish for another 20 lines indefinitely. Everything now seems to be in working order. Added code snippet below. Thanks Monks!
    if($i == 20){ print $channel "logout\n"; print "$_" while <$channel>; print "\n"; $channel->send_eof(); $channel->close(); $ssh->disconnect(); undef $ssh; $ssh = Net::SSH2->new(); $ssh->connect($host, 22); $ssh->auth_password($tacacsusername, $tacacspassword); $channel = $ssh->channel(); $channel->blocking(0); $channel->shell(); $i = 0; }