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!
In reply to Forking SSH via Apache by packetstormer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |