¿Por qué es 0644
decir, -rw-r--r--
demasiado abierto para una clave SSH? Además, no pude encontrar ningún permiso falso en el .ssh
directorio ( 0700
) o en el directorio de inicio ( 0731
).
Por cierto, recibo este error al probar la paráfrasis de una clave a través dessh-keygen -y -f my_key.pub
Atentamente
Respuesta1
Es posible que esté ejecutando ssh-keygen en el archivo incorrecto. ssh-keygen -y
opera en unprivadoarchivo de clave. Los archivos ".pub" normalmente contienen elpúblicollave. Probablemente tenga un archivo llamado my_key
, sin ninguna extensión, y debería ser modo 0600. Ese es el archivo que debería 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 a alguien iniciar sesión en su cuenta en cualquier sistema que acepte la clave. ssh-keygen y otras utilidades ssh requieren que los archivos de clave privada tengan permisos restringidos porque los archivos son confidenciales y deben permanecer seguros.
Respuesta2
El único comando que necesitas ejecutar es chmod 600 ~/.ssh/id_rsa
. Eso es todo.
Esto cambia los permisos del archivo para que el propietario (usted) pueda leerlo y escribirlo, lo que eliminará el mensaje de error que reciba.
Respuesta3
0644
No se supone que sea demasiado abierto para una clave pública, pero sí demasiado abierto para su clave privada.
Su clave privada debe tener permiso 0600
mientras que su clave pública debe tener permiso 0644
.
Por cierto, también debes ocuparte del permiso en .ssh
la carpeta. Debería tener el permiso 0700
, para que sólo usted, el propietario, tenga control sobre la carpeta.
En cuanto a su directorio de inicio, se supone que no se debe otorgar permiso de escritura al grupo ni a otros.
Ejecutar chmod go-w /home/username
debería solucionar eso.
Respuesta4
Las respuestas anteriores son válidas, pero antes de ejecutar cualquiera chmod
para corregir los permisos, solo asegúrese de que sus IdentityFile
datos ~/.ssh/config
hagan referencia a su clave privada. Los principiantes podrían malinterpretar esto y referirse a la clave pública (con .pub
extensión), lo que llevaría al mismo error (ya que los permisos del archivo de clave pública son demasiado abiertos para una clave privada).