packetstormer has asked for the wisdom of the Perl Monks concerning the following question:
Hello Monks
I have been looking at this for too long, hopefully someone can spot what is going on!
I have an inhouse system where I need to have users click a link and start a reverse SSH tunnel. The script itself is simple and works. Running it from shell and it connects with no STDOUT. However, when I try to fork it from a web page the page hangs (like it would if I wasn't forking) and stays there forever. The process starts fine, but the page doesn't redirect.
..... my $port = $cgi->param("port"); if ( $port ) { my $cmd = "ssh -n -F -R $port:localhost:22 -p 80"; my $pid = fork(); if ( $pid == 0 ) { exec($cmd) } } print $cgi->redirect("home.pl");
If I run this from the command line passing in the port the command executes. However, from the webpage, although the command does execute, the page stays there and doesn't redirect.
I have tried adding stdout and stderr redirection on the command but the same problem remains.
Any advise would be great!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Forking SSH via Apache
by Anonymous Monk on Feb 11, 2014 at 14:03 UTC | |
|
Re: Forking SSH via Apache
by Anonymous Monk on Feb 11, 2014 at 19:00 UTC |