Я не нашел настоящих решений по запросу для ssh-туннелей. Вот определение (для меня):
- Хост (локальный или удаленный) имеет службу прослушивания на порту XXX
- Клиент (опять же, локальный или удаленный) подключается к порту XXX
- Затем хост инициирует предварительно определенное ssh-соединение с другим хостом и устанавливает соответствующую переадресацию портов, аутентификация обычно обрабатывается для клиента.
- Затем клиент может использовать это соединение на основе переадресации порта.
Насколько я могу судить, не существует программного обеспечения, которое в настоящее время включает часть «по требованию»; как определено службой, которая активно прослушивает соединения. Очевидно, вы можете запустить службу, которая создает туннель, но это, конечно, ручная операция.
В настоящее время мое решение использует launchd для поддержания открытого соединения ssh. Я использовал этот пост в блоге, чтобы создать собственное решение:
http://chris.improbable.org/2008/05/21/mac-quickie-tunnel-your-traffic-using-openssh-and/
Если вы обновите свой вопрос, я, возможно, помогу вам развернуть свой вопрос, опять же, это специальное решение, а не «по требованию».
В качестве альтернативы этому вы можете использовать SSH Tunnel Manager или вышеупомянутый TunnelBlick для запуска туннелей вручную.