Eu tenho o mesmo problema que você e, no momento, só cheguei a uma resposta possível. Meu cenário é um pouco diferente do seu, pois só preciso de um túnel ssh ativo, mas todos os clientes devem estar prontos para se conectar, se necessário.
Eu acho que se poderia criar um protocolo simples cliente / servidor para lidar com todos os clientes e criar uma lista de algum tipo. O usuário poderia então escolher um dos clientes para criar o túnel reverso. Isso exigiria outra porta aberta em vez do servidor ssh, mas, usando um servidor encadeado, era possível escutar () vários clientes na mesma porta desse protocolo secundário.
Ainda estou trabalhando em uma solução (provavelmente implementarei o que acabei de escrever), mas lembre-se de que, no seu caso, você deve decidir o número máximo de clientes conectados em uma única vez e configurar essa quantidade de portas. Como o meu é apenas um pequeno "suporte" Linux para dispositivos embarcados, eu só posso trabalhar em um dispositivo de cada vez, então eu só preciso de um dispositivo.
Uma idéia mais inteligente seria informar o cliente sobre o protocolo auxiliar em qual porta do servidor para anexar o túnel reverso.