Que son las llaves SSH o SSH keys?

Que son las llaves SSH o SSH keys?

Una clave SSH es uno de los dos archivos utilizados en un método de autenticación conocido como autenticación de clave pública SSH. En este método de autenticación, un archivo (conocido como la clave privada) generalmente se mantiene en el lado del cliente y el otro archivo (conocido como la clave pública) se almacena en el lado del servidor.

No hay dos pares de claves SSH iguales. Entonces, en teoría, puede usar un par para la autenticación. Así es como funciona:

Las claves SSH vienen en muchos tamaños, pero una opción popular es un cifrado RSA de 2048 bits, que es comparativo con una contraseña de 617 dígitos. En los sistemas Windows, es posible generar su propio par de claves SSH descargando y utilizando un cliente SSH como PuTTY. En sistemas Mac y Linux, es posible generar un par de claves SSH usando una ventana de terminal. Mire el video a continuación para descubrir cómo generar su propio par de claves RSA en Mac y Linux.

El protocolo SSH usa claves para la autenticación de dos maneras:

Autenticacion de usuarios

Aquí es donde el servidor SSH verifica la identidad del usuario que se está conectando. SSH ofrece varios métodos de autenticación de usuarios. La autenticación de contraseña es la más común, pero la autenticación de clave pública es otra.
Cuando se utiliza la autenticación de clave pública, el servidor SSH verifica si el usuario que intenta autenticarse en una cuenta que tiene una clave pública autorizada posee la clave privada correspondiente. Las claves utilizadas para este propósito se denominan claves de usuario SSH o SSH Keys.

Servidores de autenticación

Aquí es donde el cliente SSH verifica la identidad del servidor SSH. Permite a los usuarios que se conectan a un servidor verificar que este sea, de hecho, el mismo servidor SSH al que me conecté la última vez o que este sea el servidor que dice ser (básicamente para evitar un ataque Man-in-the-middle). Las claves utilizadas para este propósito se denominan claves de host SSH.

Al referirse a las llaves SSH o SSH keys, uno se puede referir a cualquiera de estas (claves de usuario o claves de host). La mayoría de las veces (a menos que sea un administrador del sistema) cuando alguien habla de claves SSH, generalmente se refieren a claves de usuario.

Si bien la clave pública está destinada a ser compartida, la clave privada, como su nombre lo indica, debe mantenerse como lo haría cualquier persona que tenga acceso a la clave privada poder descifrar y firmar mensajes en nombre del propietario. Algunas pautas generales para proteger una clave privada son garantizar los permisos seguros del sistema de archivos (cuando la clave se almacena en el disco) y, en general, no copiarla del sistema donde se generó. También es posible (y muy recomendable) encriptar claves SSH con una frase de contraseña. Si lo hace, evitará que alguien que logró obtener una copia de la clave privada lo use sin tener que conocer también la frase de contraseña.

Una nota adicional e interesante con respecto a las claves SSH es que el uso de claves SSH en la autenticación del usuario en realidad proporciona una mejor protección que la autenticación de contraseña, contra un ataque Man-in-the-middle en el caso en que el atacante ha comprometido el servidor SSH. Esto tiene que ver con la forma en que se calculan los identificadores de sesión cuando se usa la autenticación de clave pública. Se pueden encontrar más detalles sobre esto en SSH Man-in-the-Middle Attack y Public-Key Authentication Method.

Leave a Reply