Em vez disso, @jasonwryan estava no caminho certo de que você deveria inventar alguma outra coisa para o seu nome de comando. No entanto, em vez de tentar ficar com uma palavra, o nome de um servidor como um nome de comando, recomendo que você alterne os modelos para um modelo de várias palavras, como o restante do Unix. A conclusão de tabulação para nomes de comandos é bastante diferente da conclusão de tabulações para argumentos, o último é bastante fácil.
Configure um apelido fácil como 's' ou qualquer que seja seu alias de conexão, mas não inclua o nome do host. Em seguida, configure uma rotina de conclusão personalizada para esse comando que APENAS autocomplete para hospedar nomes como:
alias s=ssh
complete -F _known_hosts_real s
Você também pode criar uma função personalizada para isso:
alias s=ssh
_my_hosts() {
type compopt &>/dev/null && compopt -o nospace
COMPREPLY=( $( compgen -S = -W 'flexo mexo dexo' -- "$cur") )
}
complete -F _my_hosts s