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_hosts
archivo 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/config
archivo 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_hosts
archivo. 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_hosts
ssh -vvvvvvvvvvvvvvvvvvv [email protected]
fuente
~/.ssh/id_rsa
clave 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/null
as unknown_hosts después de cambiar la clave?~
en~/.ssh/config
es carpeta de inicio del usuario. Para abrirlo fácilmente, presione Win-R , escribacmd
Enter . El símbolo del sistema ya debería abrirse en su carpeta de inicio. Escribacd .ssh
Enter 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=quiet
es 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/null
comoknown_hosts
archivo, probablemente porque quería desactivar laknown_hosts
verificación de huellas digitales, pero no pudo, porque los señores de ssh no se lo permitieron.loglevel=error
todaví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
LogLevel
aERROR
(noQUIET
) en el~/.ssh/config
archivo 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_hosts
y 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 configurarlasLogLevel
por 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_hosts
archivo 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
.ssh
archivo en mi~
. Así que acabo de crear el.ssh
directorio 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/config
Lo que funcionó bien para la mayoría de los casos al no usar el
~/.ssh/known_hosts
archivo. 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/null
lí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