O SSH pesquisa apenas o arquivo de configuração uma vez para encontrar opções. Por isso, o argumento do nome do host foo
localiza todas as seções correspondentes e as mescla.
Ele não volta novamente através da configuração, procurando por uma nova configuração baseada no nome / endereço final do host que será conectado.
Portanto, o 'problema' é simplesmente que você espera que o ssh funcione de maneira diferente e como funciona. Me desculpe por isso. Na ocasião, desejei que funcionasse do jeito que você está esperando também.
Sobre tudo o que posso sugerir é que você instale a funcionalidade de preenchimento automático disponível para a maioria dos shells. Então, em vez de ter um alias para foo
, você tem um alias para foo.mydomain.com
, basta digitar foo<tab>
e ele será preenchido automaticamente em myserver.mydomain.com
.