Cada vez que uso git para interactuar con un control remoto, como al tirar o empujar, me aparece el siguiente mensaje:
Advertencia: Se agregó permanentemente '...' (RSA) a la lista de hosts conocidos.
¿Cómo puedo evitar que se muestre este mensaje molesto? Es solo una molestia: todo funciona correctamente.

The authenticity of host '...' can't be established. RSA key fingerprint is .... Are you sure you want to continue connecting (yes/no)?o lo ha suprimido? Si es así, ¿es la misma huella digital cada vez? Si no es así, da mucho miedo . La opción menos aterradora sería que de alguna manera no está logrando escribir en el archivo de hosts, por lo que lo intenta nuevamente cada vez. Echar un vistazo a~/.ssh/known_hosts?~/.ssh/known_hosts? (¿Está en la lista 5000 veces?) ¿Existe~/.ssh/config/ contiene algo (especialmente un valor paraStrictHostKeyChecking)?known_hostsarchivo es malo. Debería ser la clave de host, en una línea terriblemente larga. Si solo tiene el nombre de host allí (por ejemplo), no funcionará. Le recomiendo que elimine este archivo (si de hecho solo contiene la información para este único host) y permita que SSH lo cree la próxima vez que se conecte. Debería quedar en silencio después de eso.Respuestas:
Solución: cree un
~/.ssh/configarchivo e inserte la línea:Luego verá el mensaje la próxima vez que acceda a Github, pero después de eso ya no lo verá porque el host se agrega al
known_hostsarchivo. Esto soluciona el problema, en lugar de solo ocultar el mensaje de registro.Este problema me estaba molestando durante bastante tiempo. El problema ocurre porque el cliente OpenSSH compilado para Windows no verifica el archivo known_hosts en
~/.ssh/known_hostsssh -vvvvvvvvvvvvvvvvvvv [email protected]
fuente
~/.ssh/id_rsaclave diferente (de mi predeterminada ) para conectarme a un servidor. Como @JeremiahGowdy mencionó, lo he hechodebug3: load_hostkeys: loading entries for host "172.16.3.101" from file "/dev/null". ¿Por qué SSH comienza a usar/dev/nullas unknown_hosts después de cambiar la clave?~en~/.ssh/configes carpeta de inicio del usuario. Para abrirlo fácilmente, presione Win-R , escribacmdEnter . El símbolo del sistema ya debería abrirse en su carpeta de inicio. Escribacd .sshEnter y luegostart .Enter para abrir la carpeta en el Explorador de Windows. Luego puede crear el archivo de configuración en el Bloc de notas (sin extensión .txt al guardar). (Los usuarios profesionales pueden hacer eco directamente a un nuevo archivo en el símbolo del sistema;)). Ejecute un comando git que involucra el control remoto dos veces (comogit fetch), y listo.Agregue la siguiente línea a su archivo de configuración ssh ($ HOME / .ssh / config):
Si ejecuta ssh desde la línea de comando, agregue la siguiente opción a la cadena de comando:
Por ejemplo, lo siguiente imprime la versión de gcc instalada en machine.example.org (y sin advertencia):
fuente
LogLevel=quietes una mala idea, quiere que se muestren todos los errores, solo quiere evitar este error desagradable específico. Probablemente porque engañó a ssh para usarlo/dev/nullcomoknown_hostsarchivo, probablemente porque quería desactivar laknown_hostsverificación de huellas digitales, pero no pudo, porque los señores de ssh no se lo permitieron.loglevel=errortodavía muestra "Conexión a <servidor> cerrado" cuando se termina la conexión, lo que también es realmente molesto para las secuencias de comandos.Ajuste
LogLevelaERROR(noQUIET) en el~/.ssh/configarchivo para evitar ver estos errores:fuente
Ese mensaje es de SSH, que le advierte que se está conectando a un host al que nunca se ha conectado antes. No recomendaría desactivarlo, ya que significaría que podría perderse una advertencia sobre el cambio de una clave de host, lo que puede indicar un ataque MITM en su sesión SSH.
fuente
~/.ssh/known_hostsy vea si su anfitrión está allí.ssh-keyscan.Para suprimir mensajes de advertencia
ssh, puede agregar las siguientes líneas a~/.ssh/config:Eso deshabilitará las advertencias pero no los mensajes de error. Al igual que las otras configuraciones
~/.ssh/config, puede configurarlasLogLevelpor host si desea un control más detallado.fuente
Principalmente significa que hay cambios para la clave para ese host
~/.ssh/known_hosts, y no la ACTUALIZARÁ automáticamente. Por lo tanto, cada vez que reciba este mensaje de advertencia.Esto sucede a menudo para conectarse a las máquinas virtuales recreadas, lo que cambia la clave con la misma dirección IP
Solución
Si solo tiene una entrada, puede eliminar el
~/.ssh/known_hostsarchivo y, después de la primera conexión, que la clave estará allí y no habrá mensajes de advertencia después de eso.Si tiene varias entradas, puede usar el siguiente comando para eliminar
Funciona bien para mí
fuente
Si está utilizando un repositorio de GitHub, considere usar la versión HTTPS de la URL para evitar este problema por completo:
Si clona su repositorio desde la aplicación Windows GitHub, esto es lo que usa para la URL remota. Tal vez ellos saben algo que nosotros no sabemos.
fuente
Tengo la misma pregunta y descubrí que no hay un
.ssharchivo en mi~. Así que acabo de crear el.sshdirectorio bajo la~ruta y el problema se resolvió.fuente
Tuve el mismo problema cuando comencé a usar una máquina Windows. En mi caso, fue porque mi configuración SSH no se realizó. Github tiene una documentación muy precisa sobre la configuración de SSH. Una vez que se ha solucionado, el problema se resolvió.
https://help.github.com/articles/checking-for-existing-ssh-keys/ https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it- al-agente-ssh /
fuente
Añadir clave ssh
archivo de configuración de caja
agregue debajo de la línea.
Luego agregue la clave de publicación y clone su repositorio ... Hecho .....
fuente
Me enfrenté al mismo error en Linux / Cent OS VM y fue porque la IP estaba cambiando después de reiniciar. Para solucionar este problema, definí una IP estática en la red y agregué esa entrada al archivo / etc / hosts. Para IP estática, mencione un valor de rango ligeramente mayor. Por ejemplo, si su IP actual (ipconfig / ifconfig) es 192.168.0.102, la próxima vez después de reiniciar esto puede convertirse en 192.168.0.103. Así que defina su IP estática en la configuración de IPV4 como 192.168.0.181, que debería ser el truco.
fuente
En mi caso, fue porque el administrador que configuró el servidor configuró estas opciones en
~/.ssh/configLo que funcionó bien para la mayoría de los casos al no usar el
~/.ssh/known_hostsarchivo. Pero para el repositorio empresarial de gitlab, cada vez que daba la "Advertencia: permanentemente agregado ... a la lista de hosts conocidos".Mi solución fue comentar la
UserKnownHostsFile /dev/nulllínea, lo que permitió la creación de~/.ssh/known_hosts. Entonces no dio más advertencias después de eso.También puede tener entradas antiguas / inválidas en su
known_hosts.fuente
Estoy retirando mi solución debido a los continuos votos negativos.
Fue la mejor solución sin hackear el código fuente del cliente SSH.
Si alguien está interesado, verifique el historial de edición.
fuente