O SSH permite que você especifique várias portas na linha de comando para encapsular (exemplo de aqui ):
$ ssh -L 10001:one.securedomain.com:3389 -L 10002:two.securedomain.com:3389
Você está dizendo que só quer usar uma única porta local?
O SSH simplesmente faz um mapeamento da porta de origem < - > Porto de destino. Você tem um problema fundamental se quiser 1 porta de origem < - > várias portas de destino - por ex. se você enviar tráfego para sua porta local 10001, como é que algo (muito menos SSH) deve saber qual porta de destino você quer?
Alguns protocolos possuem um recurso em que parte dos dados transmitidos como carga útil especifica o destino da carga útil. O HTTP faz isso com o cabeçalho Host:
. Como o SSH adota a filosofia Unix de "X é meu trabalho e nada mais", ele não fareja, decodifique ou entenda o tráfego que está sendo tunelizado. Portanto, isso não pode ajudá-lo, mas um servidor proxy em execução no sistema de origem ou destino pode. Para outros protocolos além do HTTP, você deve procurar ou desenvolver um serviço que sirva como um proxy "multiplexado" - eu acho que existem utilitários para SMTP e, possivelmente, FTP, se você procurar o suficiente.
Uma maneira é executar algo como o OpenVPN em seu túnel SSH, desta forma você pode controlar explicitamente o roteamento e assim depois que o tráfego chegar ao outro lado.