Ejecuto un escritorio de Ubuntu con un montón de servidores virtuales en Virtual Box para probar cosas, etc. En el pasado también me he conectado a otros tipos de cajas remotas VPS Linux. Actualmente mi .ssh/known_hosts
archivo tiene un montón de claves, la mayoría de las cuales ya no se utilizan.
Quiero limpiar mi .ssh/known_hosts
archivo, pero ¿cómo sé qué clave pertenece a qué host? Es decir, ¿cómo sé qué claves puedo eliminar con seguridad y cuáles debo dejar en paz?
ssh-keyscan
tiene unas reglas de formato muy estrictas dellist_of_hosts
archivo. Debe ser solo la dirección y no otro espacio en blanco que LF después de cada dirección. Eso incluye LF después de la última dirección. De lo contrario, obtendrá mucha basura en el archivo generado.Con dificultad...
Ubuntu de forma predeterminada agrega nombres de host al archivo known_hosts (este no es el comportamiento predeterminado de openssh), para dificultar que cualquiera que lea el archivo sepa a qué sistemas accede.
Si realmente quisieras limpiar el archivo, la opción más simple probablemente sea simplemente eliminarlo y verificar las claves de los servidores que conoces a medida que surgen, pero en realidad solo dejaría solo conocido_hosts.
Puede detener el hash de las nuevas entradas de hosts comentando la opción en / etc / ssh / ssh_config
fuente
ssh root@something-new-or-new-dns-alias
. Esto actualizará elknown_hosts
archivo original y descifrará los nombres de host / IP.Tenía más de 300 entradas antiguas obsoletas en mi archivo conocido_hosts. No estoy seguro de que funcionará para todos los sistemas (o incluso la mayoría de los sistemas), pero aquí está mi script Q&D. Puede que tenga que ajustar las cadenas o la ubicación coincidentes.
fuente
known_hosts
archivo hash , y dado que el interlocutor pregunta, "¿cómo sé qué clave pertenece a qué host"? Creo que es muy probable que su archivo esté hash. Él dice que está en Ubuntu, y comotheotherreceive
dice, Ubuntu tiene hash por defecto.