Eu encontrei este problema em um servidor com uma versão anterior do OpenSSH. Eu controlo o servidor e resolvi o problema criando dois CNAMEs na minha configuração nomeada:
realhost.myexample.com. IN A XXX.XXX.XXX.XXX
realhost2.myexample.com. IN CNAME realhost.myexample.com.
realhost3.myexample.com. IN CNAME realhost.myexample.com.
Em seguida, na configuração do meu cliente ssh local:
ControlMaster auto
ControlPath ~/.ssh/%r_%p_%h
host realhost
hostname realhost.myexample.com
host realhost2
hostname realhost2.myexample.com
host realhost3
hostname realhost3.myexample.com
A instrução ControlPath é para que os nomes dos soquetes de controle não interfiram uns nos outros.
É isso, mas para facilitar o gerenciamento, eu escrevi um script de wrapper para 'ssh' no lado do cliente. Ele entende que existem 'grupos' de hosts (neste caso, realhost, realhost1, realhost2 compreendem um grupo). Ao emitir 'sshwrapper realhost', se não houver canais abertos, todos os três serão abertos e uma sessão será iniciada. Na próxima vez que for executado, ele contará com conexões abertas por canal e abrirá a nova sessão no canal com o menor número de conexões.
Com um real e dois hosts 'falsos', posso conectar 30 vezes antes de receber um erro. O login é extremamente rápido, exceto que o tempo inicial leva um segundo ou dois, já que todos os três canais de controle estão abertos naquele momento.