SSH: "Los permisos 0644 para 'my_key.pub' están demasiado abiertos".

21

¿Por qué 0644esto es -rw-r--r--demasiado abierto para una clave SSH? Además, no pude encontrar ningún permiso falso en el .sshdirectorio ( 0700) o el directorio de inicio ( 0731).

Por cierto, obtengo este error al probar la paráfrasis de una clave a través de ssh-keygen -y -f my_key.pub

Atentamente

usuario2820379
fuente

Respuestas:

7

Puede estar ejecutando ssh-keygen en el archivo incorrecto. ssh-keygen -yopera en un privado archivo de clave . Los archivos ".pub" normalmente contienen la clave pública . Probablemente tenga un archivo allí llamado my_key, sin ninguna extensión, y debería ser el modo 0600. Ese es el archivo que debe contener la clave privada.

Para responder directamente a su pregunta, las claves SSH se utilizan normalmente para permitir la conexión a servidores remotos sin contraseña. La posesión de la clave privada permitiría que alguien inicie sesión en su cuenta en cualquier sistema que acepte la clave. ssh-keygen y las otras utilidades ssh requieren que los archivos de clave privada tengan permisos restringidos porque los archivos son confidenciales y deben permanecer seguros.

Kenster
fuente
11

0644 no se supone que esté demasiado abierto para una clave pública, pero está demasiado abierto para su clave privada.

Su clave privada debe tener permiso 0600mientras que su clave pública tiene permiso 0644.

Por cierto, también debe cuidar el permiso en la .sshcarpeta. Debe tener el permiso 0700, de modo que solo usted, el propietario, tenga control sobre la carpeta.

En cuanto a su directorio de inicio, no se debe otorgar permiso de escritura al grupo ni a otros.

Run chmod go-w /home/usernamedebería arreglar eso.

pallxk
fuente
Absolutamente no siga estas instrucciones. Esto NO es lo que debes hacer. Esto también restablecerá todos los permisos del directorio de inicio. ¡SOLO debería modificar la .sshcarpeta y el id_rsaarchivo en sí, no todo su directorio de inicio!
niftylettuce
9

El único comando que necesitas ejecutar es chmod 600 ~/.ssh/id_rsa. Eso es.

Esto cambia los permisos en el archivo para que el propietario (usted) pueda leerlo y escribirlo, lo que eliminará el mensaje de error que recibe.

niftylettuce
fuente
Actualizado @TwistyImpersonator
niftylettuce
0

Las respuestas anteriores son válidas, pero antes de ejecutar ninguna chmodpara corregir los permisos, solo asegúrese de que su IdentityFile(s) ~/.ssh/configreferencia (s) haga referencia a su clave privada. Los novatos podrían malinterpretar eso y referirse a la clave pública (con .pubextensión) en su lugar, lo que llevaría al mismo error (ya que los permisos del archivo de clave pública están demasiado abiertos para una clave privada).

Javarome
fuente