After a few more days of messing with this, I have gotten the following code to work.
#!/usr/bin/perl use strict; use warnings; use diagnostics; use Net::OpenSSH; use Expect; my $host = '10.0.0.1'; my $ssh = Net::OpenSSH->new("$host", timeout => 30); $ssh->error and die "unable to connect to remote host: ". $ssh->error; my ($pty,$pid) = $ssh->open2pty or die "unable to run remote command show ip arp"; my $output = $ssh->capture({stdin_data => "term length 0\nterm width 512\nsh ver\nsh run\nexit\n"}); print $output;
This code, however, gives me 2 errors...
Pseudo-terminal will not be allocated because stdin is not a terminal. channel 4: open failed: resource shortage:
I have tried searching for a fix for them but I haven't found anything.
Would anyone know how I can fix these errors?
In reply to Re: Net::OpenSSH multiple commands
by mlebel
in thread Net::OpenSSH multiple commands
by mlebel
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |