Назад | Перейти на главную страницу

SSH-туннель с xinetd; привязать адрес уже используется

У меня есть туннельное соединение ssh, которое отлично работает из командной строки;

ssh -f -N -L 4444: to.somewhere.com: 80 user@xxx.xxx.xxx.xxx -p 22

Теперь я пытаюсь настроить это подключение для подключения по запросу с xinetd. Я поместил этот настраиваемый порт в / etc / service (инструмент 4444 / tcp) и создал файл конфигурации в /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 user@xxx.xxx.xxx.xxx -p 22
   port            = 4444
   disable         = no
}

После перезапуска xinetd я пытаюсь подключиться к этому порту с помощью wget и получаю сообщение;

bind: адрес уже используется

lsof -i и netstat -a не показывают никаких открытых 4444 на переднем крае.

Причина в том, что xinitd привязывается к порту, и когда ssh пытается его использовать, порт уже используется. Чтобы использовать xinetd, вы должны взаимодействовать с stdin / stdout с дочерним процессом.

Здесь вы можете найти указатель, как управлять ssh-туннелем с помощью xinetd:

http://www.debian-administration.org/articles/487