Cómo arreglar ADVERTENCIA: ¡ARCHIVO DE CLAVE PRIVADA SIN PROTECCIÓN! en Mac y Linux

Al conectarse a un servidor, normalmente necesitará algún tipo de autenticación para iniciar sesión, ya sea un nombre de usuario/contraseña o un archivo de clave. Nombres de usuario y contraseñas...

Al conectarse a un servidor, generalmente necesitará algún tipo de autenticación para iniciar sesión, ya sea un nombre de usuario/contraseña o un archivo de clave. Los nombres de usuario y las contraseñas son bastante sencillos, pero las cosas pueden volverse un poco más confusas cuando se trata de usar claves privadas. No solo necesita ejecutar SSH con comandos adicionales, sino que resulta que el archivo clave en sí debe tener ciertas propiedades.

¿Ha encontrado el siguiente mensaje de advertencia y no sabe cómo solucionarlo?

1
2
3
4
5
6
7
8
9
Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/path/to/my/key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /path/to/my/key.pem
Permission denied (publickey).

Es un error común al intentar iniciar sesión en un servidor a través de SSH y un archivo de clave, y afortunadamente tiene una solución relativamente fácil. Pero antes de llegar a eso, veamos algunos antecedentes sobre por qué aparece este error.

¿Por qué veo este error? {#por qué veo este error}

Lo que sucedió es que la clave que está tratando de usar (key.pem en el ejemplo anterior) es demasiado accesible para los usuarios del sistema.

Esto es algo malo porque entonces no eres el único capaz de usar la llave, lo que anula el propósito. Las claves privadas solo deben ser accesibles para un usuario.

Por ejemplo, si un atacante de alguna manera obtiene acceso a cualquiera de las cuentas en su sistema, entonces podrá acceder a la clave, en lugar de tener que obtener acceso a su cuenta específicamente. Esto les da demasiadas oportunidades para acceder a la clave privada.

¿Cómo puedo arreglarlo? {#Cómo puedo arreglarlo}

Como dije antes, esta es una solución fácil. Solo corre:

1
$ sudo chmod 600 /path/to/my/key.pem

Tenga en cuenta que si mantiene todas sus claves en el directorio ~/.ssh (o en cualquier otro directorio, en realidad), es posible que también deba ajustar los permisos para ese directorio. En ese caso, usa esto:

1
$ sudo chmod 755 ~/.ssh

Y eso es todo lo que hay que hacer. Ahora debería poder usar su clave sin problemas.