Linux.com

Home Linux Community Forums Software Command Line Background Programs - & and ENV Var's in PERL

Background Programs - & and ENV Var's in PERL

Link to this post 15 Oct 10

Background Programs - & and ENV{} Var's in PERL
Hi, I've been recently implementing a program that will access incoming data by forwarding data from an ip address to a local port and gathering that data, using these commands.

ssh -l ec34 -L 12345:127.0.0.1:10237 192.101.77.209 -n

Unfortunately this command takes up the command line, and when i add a '&' to it, I get the error:

Pseudo-terminal will not be allocated because stdin is not a terminal.

A wise friend of mine suggested looking into Environment Variables and modify one. I used the code:

foreach $key (sort keys(%ENV)) {
print "$key = $ENV{$key}<p>n";
}

To display these variables, but found nothing I felt I could use against this error. I'm thinking I may be missing a parameter in the `ssh...` command once I have added an ampersand & to it, or I have now confused it into thinking it's going to output into standard in (possibly as a default for the background), and I dont know why. Does anyone know how I can connect this data to a local port behind the scenes?

Link to this post 19 Oct 10

It sounds like you just want the ssh session to run int he back ground.

 
ssh -f -N -L 12345:127.0.0.1:10237 ec34@192.101.77.209

that should do exactly what you want, if I understand your concerns correctly.

Link to this post 23 Oct 10

Hi gomer,

What I have been doing is using this ssh command from my last post,

ssh -l ec34 -L 12345:127.0.0.1:10237 192.101.77.209 -n

to forward my incoming data to a port, and read off this port with:

netcat -t localhost 12345

Once I implemented your code after closing the current ssh linkup I had going, the code ran in correctly, but when I tried to netcat it I got this error message - "channel 2: open failed: administratively prohibited: open failed".
I'm unsure what exactly your command does, yet, and i'm fairly certain this is possible without admin privileges. Hopefully you can help me out!

John

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board