I'm having an ssh tunnel connection which works fine from the command-line;
ssh -f -N -L 4444:to.somewhere.com:80 [email protected] -p 22
Now I'm trying to make this connect to connect on demand with xinetd. I've put this custom port in /etc/service (tool 4444/tcp), and made a config file in /etc/xinetd.d;
service tool
{
socket_type = stream
instances = 1
wait = no
user = root
server = /usr/bin/ssh
server_args = -f -N -L 4444:to.somewhere.com:80 [email protected] -p 22
port = 4444
disable = no
}
After restarting xinetd I try to connect to this poort with a wget and get the message;
bind: Address already in use
lsof -i nor netstat -a don't show any open 4444 on forehand.
The reason is that xinitd will bind to the port, and when ssh tries to use it, the port is already in use. To use xinetd, you should communicate with stdin/stdout with the child process.
You can find a pointer how to manage a ssh tunnel with xinetd here:
http://www.debian-administration.org/articles/487