Não encontrei soluções verdadeiras "sob demanda" para túneis ssh. Aqui está a definição (para mim):
- Um host (local ou remoto) possui um serviço de escuta na porta XXX
- Um cliente (novamente, local ou remoto) se conecta à porta XXX
- O host inicia uma conexão ssh predefinida com outro host e configura o encaminhamento de porta apropriado, autenticação normalmente tratada para o cliente.
- O cliente pode usar essa conexão com base no encaminhamento de porta.
Até onde eu sei, não há software que ative a parte "sob demanda"; conforme definido por um serviço que está escutando ativamente conexões. Obviamente, você pode iniciar um serviço que cria o túnel, mas é claro que é uma operação manual.
Atualmente, minha solução está usando o launchd para manter uma conexão ssh aberta o tempo todo. Usei esta postagem do blog para criar minha própria solução:
http://chris.improbable.org/2008/05/21/mac-quickie-tunnel-your-traffic-using-openssh-and/
Se você atualizar sua pergunta, eu provavelmente poderia ajudá-lo a criar a sua própria, novamente, esta é uma solução dedicada, não "sob demanda".
Como alternativa, você pode procurar o SSH Tunnel Manager ou o TunnelBlick mencionado acima para iniciar os túneis manualmente.