Muy nueva pregunta!
Estoy enviando a dos servidores diferentes, ambos parte del mismo clúster de Amazon AWS. No están dirigidos por mí.
En una sesión ssh, el terminal me permite completar automáticamente. En la otra sesión, no lo hace, ojalá lo hiciera.
¿Por qué es esto? ¿Es una opción establecida por el administrador del servidor?
¿Y puedo hacer algo al respecto?
¡Gracias!
You may not change the shell for 'counterstrike'.
Es una combinación del shell que se está utilizando en su sesión ssh, así como su configuración.
Si bien su shell puede admitir autocompletado, es posible que no esté configurado para ello. Si está utilizando el shell bash, puede editar su archivo .bashrc local para lo siguiente para proporcionar autocompletar.
fuente
Copiado de mi propia respuesta en unix.SE :
Parece que específicamente en Ubuntu las entradas
~/.ssh/known_hosts
están en hash , por lo que la finalización de SSH no puede leerlas. Esto es una característica, no un error. Incluso mediante la adiciónHashKnownHosts no
a~/.ssh/config
, y/etc/ssh/ssh_config
no pude evitar que el hash de acogida.Sin embargo, los hosts que me interesan también se encuentran en
~/.ssh/config
. Aquí hay un script para Bash Completion que lee las entradas de ese archivo:Ponga ese script
/etc/bash_completion.d/ssh
y luego fuente con el siguiente comando:Encontré esta guía invaluable y no habría podido escribir esto sin ella. ¡Gracias Steve Kemp por escribir esa excelente guía!
fuente
IIRC también podría ser un problema que ssh agrega los nombres de host en ~ / .ssh / known_hosts
La mayoría de las instalaciones que conozco usan ~ / .ssh / known_hosts como fuente para la lista de hosts disponibles para completar, pero algunos sistemas también comenzaron a configurar "HashKnownHosts yes", que prohíbe el uso de known_hosts como fuente ...
si sus líneas de hosts conocidos comienzan con algo como
entonces se activa el hashing.
fuente