GNU/Linux >> Tutoriales Linux >  >> Linux

Aspectos esenciales de Rackspace Cloud:verifique la huella digital del host SSH de un servidor con la consola web

Secure Shell (SSH) utiliza una huella digital generada con la clave de host del servidor única para que un cliente pueda identificar el servidor. Cada vez que cambia la huella digital del host, SSH emite la siguiente advertencia:La huella digital del host no se puede verificar o ha cambiado .

Cuando configura el servidor SSH, la clave de host se genera aleatoriamente. La clave de host identifica el servidor al que se está conectando y es fundamental para la seguridad que proporciona SSH. Si alguien configura un programa para interceptar una conexión y roba las credenciales de inicio de sesión (un hombre en el medio ataque), el cliente SSH proporciona solo un la clave de host ha cambiado advertencia.

Por qué podría cambiar la clave de host

Las explicaciones para una clave de host modificada incluyen:

  • Recompilar o actualizar SSH.
  • Reconstruyendo el servidor.
  • Utilizar una dirección diferente para el mismo host.

Nota: Cuando su sistema almacena la clave de host, la registra por dirección, por lo que incluso si localhost y 127.0.0.1 apunta al mismo servidor, un cliente SSH asume que es una entrada diferente.

Sin embargo, no descarte la posibilidad de un man-in-the-middle ataque y verifique la huella digital del host usando la consola web del servidor sin usar una conexión SSH.

Advertencia:la identificación del host remoto ha cambiado

Considere este mensaje de error:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /home/demo/.ssh/known_hosts to get rid of this message.
Offending key in /home/demo/.ssh/known_hosts:15
RSA host key for 1.2.3.4 has changed and you have requested strict checking.
Host key verification failed.

La advertencia significa lo siguiente:La huella digital que identifica el servidor SSH es diferente a la última vez que se conectó a él.

Verifique la huella digital SSH de su servidor

Debe escribir la huella digital SSH del servidor en un archivo para asegurarse de que se está conectando al servidor correcto, especialmente cuando se conecta desde varias máquinas o computadoras desconocidas, como el escritorio o el servidor de un cliente.

Si no tiene la huella digital del host, puede usar la consola web en el Panel de control de la nube.

La consola web te permite conectarte a tu servidor como si te conectaras desde la consola serial. Algo que le impide conectarse con SSH no interfiere con la conexión de la consola serie. Si necesita ayuda para abrir la consola web, consulte este artículo sobre la sesión de la consola.

Si no tiene un nombre de usuario y contraseña para usar (si ha deshabilitado las contraseñas para todas las cuentas, por ejemplo), puede usar el Panel de control en la nube para restablecer la contraseña raíz del servidor. Luego, puede iniciar sesión con las nuevas credenciales.

Usar ssh-keygen

Después de iniciar sesión en el servidor, puede obtener la huella digital de la clave del host. Ejecute el siguiente ssh-keygen comando contra la clave pública del servidor:

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

El -l La opción enumera la huella digital y -f /etc/ssh/ssh_host_rsa_key.pub La opción proporciona la ubicación del archivo de clave pública del host. Esa ubicación es la predeterminada para los servidores Linux®, pero es posible que deba encontrarla en una ubicación diferente.

El resultado es similar a la huella digital de su cliente SSH, como se muestra en el siguiente ejemplo:

2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /etc/ssh/ssh_host_rsa_key.pub (RSA)

El primer número indica la fuerza de la clave (en este caso, 2048 bits). La huella dactilar sigue, junto con la ubicación de la clave y el tipo de clave (generalmente RSA).

Conectarse a host local con SSH

Otra forma de obtener la clave pública es conectarse al servidor SSH utilizando SSHclient desde dentro del servidor. Inicie sesión en la consola web y luego use el ssh comando:

ssh localhost

Si se está conectando con SSH a localhost por primera vez, verá una advertencia. La advertencia muestra la huella dactilar de la clave RSA:

The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

Si no se está conectando a localhost por primera vez, utilice los siguientes pasos para borrar la clave almacenada:

  1. Vaya a .ssh directorio en su cuenta:

    cd ~/.ssh
    
  2. Edite los hosts_conocidos archivo, eliminando la línea que comienza con localhost .

  3. Guarde el archivo.

Vuelva a intentar la conexión. Deberías ver la huella digital esta vez.

Nota :Escriba la huella digital para mantener un registro y utilícela para el resto de este artículo.

Completar la conexión

Compare la huella digital obtenida con la que se muestra cuando se conecta de forma remota al servidor. Si son iguales, la conexión es válida. De lo contrario, desconéctese de la red e intente la conexión desde otro lugar. Si aún difieren, comuníquese con soporte.

La clave de host ha cambiado

Si recibe un la huella digital no coincide con lo que esperaba el cliente advertencia, use las siguientes instrucciones para editar la lista de hosts conocidos en la computadora del cliente antes de conectarse al servidor.

Linux y macOS X

En Linux, macOS® X y otros sistemas operativos basados ​​en Unix®, utiliza el ssh comando para conectarse a un servidor a través de SSH. El ~/.ssh/known_hosts El archivo contiene las claves de host SSH conocidas.

Es posible que vea un known_hosts2 archivo en lugar de o además de known_hosts . Si existen ambos archivos, entonces el sistema usa known_hosts2 cuando haces una conexión.

Realice los siguientes pasos después de identificar el archivo:

  1. Abre el archivo.

  2. Busque la línea que comienza con la dirección IP o el nombre de dominio del servidor. La entrada para la dirección IP 1.2.3.4 aparece como en el siguiente ejemplo:

     1.2.3.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwGAAQEA2Km5iIlopDndzSTbiaQZq8ynh8RPrvzBJ7dICnvAZWuH/YeNO+9DPnngzsOiYazwRD/CRSGEGRY6tS3GLclFO3Ae370aafbcq...
    
  3. Eliminar la línea.

  4. Guarde el archivo.

La próxima vez que realice una conexión, verifique la huella digital del host antes de completar la conexión.

Windows y masilla

Para servidores Windows®, considere usar PuTTY®. Si utiliza otro programa, consulte la documentación del usuario para saber dónde almacena el cliente sus claves de host conocidas.

Nota: Necesita derechos de administrador en la computadora del cliente para editar el registro.

Nota: Edite el registro con precaución.

PuTTY almacena sus claves de host en el registro de Windows. Realice los siguientes pasos para encontrar las claves de host conocidas:

  1. Vaya a Windows menú e ingrese regedit en la Buscar o Ejecutar caja.

  2. Windows organiza el registro como una jerarquía de carpetas, así que busque la siguiente carpeta:

    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
    
  3. En la carpeta, busque una o más entradas con la dirección IP del servidor al que se está conectando. El siguiente ejemplo muestra una clave cifrada RSA versión 2 en el puerto 22, dirección IP 1.2.3.4 :

    rsa2@22:1.2.3.4
    
  4. Haz clic derecho en la entrada y selecciona Eliminar del menú contextual. Después de recibir un Editar el registro puede causar problemas advertencia, confirme la acción.

  5. Salga del editor de registro.

Cuando intente la conexión SSH, debería obtener un La clave de host del servidor es desconocida advertencia junto con la huella dactilar. Asegúrese de que esta huella digital y la obtenida de la consola web coincidan antes de aceptar la conexión.

Resumen

Este artículo describe cómo obtener la huella digital de la clave de host de un servidor. Considere mantener las huellas dactilares de la clave de host de los servidores a los que se conecta en un lugar seguro. Puede consultar esas claves en cualquier momento que necesite para descartar un man-in-the-middle ataque, especialmente cuando se utilizan varios clientes. Consulte Conceptos básicos de seguridad en un sistema Linux para obtener más información.

Use la pestaña Comentarios para hacer cualquier comentario o hacer preguntas. También puede iniciar una conversación con nosotros.


Linux
  1. Mejorar la colaboración con la nube

  2. Lanzamiento en Rackspace Cloud

  3. Administre pares de claves SSH para servidores en la nube con python-novaclient

  4. Rackspace Cloud Essentials:elija el servidor en la nube del tamaño adecuado

  5. Uso de python-novaclient con Rackspace Cloud Servers

Cómo alojar un sitio web en el servidor web NGINX

Verifique el historial de inicio de sesión en su servidor

Cree su aplicación en la nube de Rackspace

Comprobar el estado de la nube de Rackspace

Solucionar problemas de nova-agent o Rackspace Cloud Server Agent

Cómo proteger SSH con Fail2Ban