O OpenSSH está usando o preenchimento básico do pacote bash-completion
. O script responsável é armazenado em /usr/share/bash-completion/completions/ssh
(no Fedora. Pode ser diferente em diferentes distros). A função _known_hosts_real
é definida globalmente em /usr/share/bash-completion/bash_completion
e você pode ver que está usando todos os itens abaixo (hosts conhecidos são apenas uma das origens):
- Hosts conhecidos:
- Arquivo de hosts conhecidos do usuário
~/.ssh/known_hosts
- Arquivo global de hosts conhecidos
/etc/ssh/ssh_known_hosts
,/etc/ssh/ssh_known_hosts2
,/etc/known_hosts
,/etc/known_hosts2
...
- Arquivo de hosts conhecidos do usuário
- Arquivos de configuração (usando
host
aliases principalmente, mas tambémHostname
s)- Arquivo de configuração do usuário
~/.ssh/config
,~/.ssh2/config
- Arquivo de configuração global
/etc/ssh/ssh_config
- O arquivo de configuração fornecido usando o
-F
switch - Arquivos de configuração incluídos
- Arquivo de configuração do usuário
- Em chaves públicas de cluster
~/.ssh2/key_22_<hostname>.pub
(não sei por que) - hosts relatados por
avahi-browse
- hosts relatados por
ruptime
- resultados da conclusão do nome do host normal
Para detalhes sobre fontes específicas de informação, você deve consultar o código fonte.