mac keygen generate git ssh ssh-keys

keygen - Error de Git: "Verificación de clave de host falló" al conectarse al repositorio remoto



ssh-keygen linux (13)

Estoy intentando conectarme a un repositorio remoto de Git que reside en mi servidor web y clonarlo en mi máquina.

Estoy usando el siguiente formato para mi comando:

git clone ssh://[email protected]/repository.git

Esto ha funcionado bien para la mayoría de los miembros de mi equipo. Por lo general, después de ejecutar este comando, Git solicitará la contraseña del usuario y luego ejecutará la clonación. Sin embargo, cuando se ejecuta en una de mis máquinas, aparece el siguiente error:

La verificación de la clave de host falló.

fatal: no se pudo leer desde el repositorio remoto.

No estamos utilizando las claves SSH para conectarnos a este repositorio, así que no estoy seguro de por qué Git está buscando uno en esta máquina en particular.



Correr ssh -T [email protected] era todo lo que necesitaba para recibir un aviso para agregar github a mis hosts conocidos.


Esto significa que su clave de host remoto fue cambiada (puede ser un cambio de contraseña de host),

Su terminal sugirió ejecutar este comando como usuario raíz

$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]

Debe eliminar ese nombre de host de la lista de hosts en su pc / servidor. Copie ese comando sugerido y ejecútelo como usuario raíz.

$ sudo su // Login as a root user $ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net] // Terminal suggested command execute here Host [www.website.net]:4231 found: line 16 type ECDSA /root/.ssh/known_hosts updated. Original contents retained as /root/.ssh/known_hosts.old $ exit // Exist from root user

Inténtalo de nuevo, espero que esto funcione.


Lo que funcionó para mí fue primero agregar mi clave SSH de la nueva computadora, seguí estas instrucciones de GitLab - agregar la clave SSH . Tenga en cuenta que, dado que estoy en Win10, tuve que hacer todos estos comandos en Git Bash en Windows (no funcionó en el cmd Shell normal de DOS).

Luego, de nuevo en Git Bash, tuve que hacer un git clone del repositorio con el que tuve problemas, y en mi caso tuve que clonarlo con un nombre diferente porque ya lo tenía localmente y no quería perder mis compromisos. . Por ejemplo

git clone ssh://git@gitServerUrl/myRepo.git myRepo2

Luego recibí el mensaje para agregarlo a la lista de hosts conocidos, la pregunta podría ser esta:

¿Estás seguro de que quieres continuar conectando (sí / no)?

Escribí "sí" y finalmente funcionó, normalmente debería recibir un mensaje similar al siguiente:

Advertencia: agregó permanentemente ''[su enlace de repositorio]'' (ECDSA) a la lista de hosts conocidos.

Nota : si estás en Windows, asegúrate de usar Git Bash para todos los comandos, esto no funcionó en el shell de cmd o en powershell, realmente tenía que hacer esto en Git Bash.

Por último, myRepo2 el segundo repositorio de clonación ( myRepo2 en el ejemplo) y volví a mi primer repositorio y finalmente pude hacer todas las cosas de Git como siempre en mi editor favorito VSCode.


Para mí, solo tuve que escribir "sí" en el mensaje que pregunta "¿Estás seguro de que quieres continuar conectando (sí / no)?" en lugar de simplemente presionar Enter.


Puede usar su "git url" en formato de URL ''https'' en Jenkinsfile o donde quiera.

git url: ''https://github.com/jglick/simple-maven-project-with-tests.git''


Recibí este mensaje cuando intenté git clone un repositorio que no era mío. La solución fue bifurcar y luego clonar.


Se está conectando a través del protocolo SSH. Usando SSH, cada host tiene una clave. Los clientes recuerdan la clave de host asociada a una dirección particular y se niegan a conectarse si parece que cambia una clave de host. Esto previene al hombre en los ataques medios.

La clave de host para domain.com ha cambiado. Si esto no te parece sospechoso , puedes eliminar la clave anterior de tu caché local usando

$ ssh-keygen -R domain.com

Le recomiendo encarecidamente que considere la posibilidad de que los usuarios se autentiquen con las claves también. De esta forma, ssh-agent puede almacenar el material clave por comodidad (en lugar de que todos tengan que ingresar su contraseña para cada conexión al servidor), y las contraseñas no pasan por la red.


Si está en la intranet de la oficina (de lo contrario, es peligroso) que siempre está protegido por firewalls, simplemente tenga las siguientes líneas en su ~ / .ssh / config

Host *
StrictHostKeyChecking no
UserKnownHostsFile = / dev / null


Si está usando git para Windows.

  • Abra la GUI de git.
  • Abra el repositorio git local en la GUI de git.
  • Agregue el control remoto o presione si el control remoto ya existe.
  • Responda "sí" a la pregunta sobre si desea continuar.

El cliente de GUI agrega la clave para usted a ~/.ssh/known_hosts . Esto es más fácil de recordar si no lo hace a menudo y también evita la necesidad de usar la línea de comando de git (las líneas de comando estándar de Windows no tienen el ejecutable de ssh-keyscan .


Tengo el mismo problema en un sistema recién instalado, pero este era un problema de udev. No había nodo /dev/tty , así que tuve que hacer:

mknod -m 666 /dev/tty c 5 0


Tuve el problema similar, desafortunadamente utilicé el HMI de GitExtensions y olvidé que escribí una frase de contraseña. Con HMI ... ¡olvídalo! ¡No ingrese la frase de contraseña cuando genere su clave!


Tuve el problema similar, pero, usando claves SSH. De la respuesta de Tupy, más arriba, descubrí que el problema es que el archivo known_hosts no está presente o github.com no está presente en la lista de hosts conocidos. Estos son los pasos que seguí para resolverlo:

  1. mkdir ~/.ssh
  2. vim known_hosts : si ya tiene known_hosts , sáltese esto.
  3. ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
  4. ssh-keygen -t rsa -C "user.email"
  5. Agregue la clave id_rsa.pub a la lista de claves SSH en su perfil de GitHub.