2 votos

ssh-keygen -R dice (erróneamente) que no se han encontrado coincidencias

Me he encontrado con el problema, no poco común, de que las claves ssh de un host han cambiado, por lo que no coinciden con lo que está guardado en mi ~/.ssh/known_hosts archivo. Cuando me conecto (en este caso a través de un playbook de Ansible), se asusta con "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!", bla bla bla.

El habitual La solución para esto es ejecutar ssh-keygen -R <host-ip-or-name> , que borra la entrada infractora. En este caso el host es un combo ip:puerto, así que intenté ejecutarlo así:

ssh-keygen -R [xxx.xxx.xx.xxx]:yyyyy

En lugar de actualizar known_hosts Me devuelve un mensaje que dice:

zsh: no matches found: [xxx.xxx.xx.xxx]:yyyyy

He probado a ejecutarlo sin el puerto, por si acaso ( ssh-keygen -R xxx.xxx.xx.xxx ). Eso da un error de "host no encontrado".

¿Qué estoy haciendo mal?

2voto

Andron Puntos 21

El problema era en realidad el shell zsh. Dado el [xxx.xxx.xx.xxx]:yyyyy zsh interpretaba la sintaxis [] s como un patrón global. Por eso me salía un error "zsh: no se han encontrado coincidencias".

En el viejo shell Bash, esto no es un problema, y el comando que di se ejecuta perfectamente.

La solución en zsh es citar el nombre de host completo, así:

ssh-keygen -R "[xxx.xxx.xx.xxx]:yyyyy"

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X