Autocompletar hosts al escribir ssh en la terminal
Esta mañana mi compañero Borja me ha enseñado un pequeño truquito
para olvidarse de los bookmarks en la terminal. Se trata de
autocompletar el comando ssh
con los hosts
conocidos.
De este modo, cuando escribes ssh en la terminal puedes darle al tabulador para que sugiera o escriba el resto de host por ti. Ejemplo:
Existen múltiples maneras de hacer esto, leyendo configs con
puertos y otras barbaridades, pero esta es realmente simple y
efectiva y sin duda la que más me gusta. Lo que hace es leer el
fichero de hosts conocidos (~/.ssh/known_hosts
) y
sugerirlos en el autocomplete. Por si no recuerdas qué guarda ese
fichero son todos aquellos servidores que verificaste a la
pregunta tipo:
The authenticity of host 'manolete (172.22.195.142)' can't be established.
RSA key fingerprint is 7d:00:92:5f:c9:2b:c7:f2:37:fc:5e:40:ce:0e:4d:d1.
Are you sure you want to continue connecting (yes/no)?
El comando, que deberías copiar y pegar en tu
~/.bash_profile
es este:
complete -W "$(while read line; do echo ${line%%[, ]*}; done \
< ~/.ssh/known_hosts)" ssh
Ojo, esta es la versión de Mac.
A ahorrar tiempo!