Cómo eliminar o actualizar una sola entrada del archivo SSH known_hosts


SSH contiene huellas digitales de sus máquinas remotas en el archivo acknowledged_hosts. A veces, es posible que deba eliminar o actualizar una de esas entradas. Jack Wallen le muestra cómo.

seguridad de datos

Imagen: Anawat Sudchanham / EyeEm / Getty Visuals

El archivo SSH recognised_hosts contiene huellas digitales (generadas a partir de la clave SSH de las máquinas remotas) de las máquinas conocidas en las que ha iniciado sesión. Si ingresa a una máquina por SSH por primera vez, se le preguntará si desea guardar la huella digital de ese host. Considere este archivo como su autoridad certificadora SSH own. Una razón por la que este archivo es importante es que podría impedirle iniciar sesión en una máquina diferente con la misma dirección IP. Digamos, por ejemplo, que alguien ha comprometido uno de los servidores de su crimson. Ha iniciado sesión anteriormente en esa máquina con SSH, pero los piratas informáticos han redirigido la dirección IP a otra máquina. Si eso sucediera, e intenta iniciar sesión en la máquina con la misma dirección IP, SSH fallará debido a una discrepancia en las claves SSH.

VER: Política de respuesta a incidentes de seguridad (TechRepublic Top quality)

Ese es un ejemplo un poco extremo, pero ilustra por qué los hosts_conocidos son importantes. También ilustra una razón por la que es posible que deba eliminar una entrada del archivo. Digamos que ha migrado su servidor de base de datos a una IP diferente. Su archivo recognized_hosts todavía tiene la clave de la IP anterior, por lo que cuando intente iniciar sesión en la nueva dirección IP, SSH se quejará. En lugar de borrar todo el archivo recognized_hosts, simplemente puede eliminar esa línea.

Déjame enseñarte como.

Lo que necesitarás

Para que esto funcione, necesitará una máquina que ejecute SSH con entradas en el archivo recognized_hosts. Eso es. Hagamos que esto suceda.

Cómo eliminar una sola entrada de recognized_hosts

Inicie sesión en la máquina que alberga el archivo recognized_hosts. Digamos que la dirección IP asociada con la entrada que se eliminará es 192.168.1.71. Para eliminar esa línea usaremos el ssh-keygen comando así:

ssh-keygen -f ~/.ssh/regarded_hosts -R 192.168.1.71

Se eliminará la entrada asociada con 192.168.1.71 y se guardará una nueva copia de seguridad de regarded_hosts como recognized_hosts_outdated. Puede probar esto eliminando la entrada y luego volviendo a iniciar sesión en 192.168.1.71. Se le debe preguntar si desea guardar la huella electronic de la clave ECDSA para el host remoto. Si eso sucede, ¡enhorabuena! Has eliminado con éxito esa única entrada de acknowledged_hosts.

Cómo actualizar una entrada

Digamos que prefiere no eliminar la entrada, sino que simplemente desea actualizar una. Puedes hacer eso con el ssh-keyscan mando. Actualicemos el mismo servidor en la dirección IP 192.168.1.71 con el comando:

ssh-keyscan -t ecdsa 192.168.1.71 >> ~/.ssh/identified_hosts

Esta vez, cuando inicie sesión en esa dirección IP, no se le pedirá que guarde la huella digital, porque todavía está allí (solo que se ha actualizado).

Y así es como puede eliminar o actualizar fácilmente una entrada en el archivo SSH recognized_hosts. No deje que ese archivo se convierta en un basurero de entradas, ya que podría terminar siendo un problema de seguridad.

Ver también



Enlace a la noticia unique