Copiado da minha própria resposta no unix.SE :
Parece que, especificamente no Ubuntu, as entradas ~/.ssh/known_hosts
são hash , para que a conclusão do SSH não possa ser lida. Este é um recurso, não um bug. Mesmo adicionando HashKnownHosts no
ao ~/.ssh/config
e /etc/ssh/ssh_config
eu era incapaz de impedir o hashing host.
No entanto, os anfitriões em que estou interessado também são encontrados ~/.ssh/config
. Aqui está um script para o Bash Completion que lê as entradas desse arquivo:
_ssh()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts=$(grep '^Host' ~/.ssh/config | awk '{print $2}')
COMPREPLY=( $(compgen -W "$opts" -- ${cur}) )
return 0
}
complete -F _ssh ssh
Coloque esse script /etc/bash_completion.d/ssh
e origine-o com o seguinte comando:
$ . /etc/bash_completion.d/ssh
Achei este guia inestimável e eu não seria capaz de escrever isso sem ele. Obrigado Steve Kemp por escrever esse guia fantástico!
You may not change the shell for 'counterstrike'.