¿Por qué obtengo "Permiso denegado" al ejecutar ssh-add?

3

He generado claves y las he aprobado para el acceso con mi equipo de TI corporativo. Sin embargo, necesito agregarlos a mi terminal cada vez que inicie mi máquina (el script que me dieron para solucionar esto todavía no me funciona). Así que por ahora tengo que emitir. ssh-add ~/.ssh/keyfolder/private_key Cada vez que enciendo mi máquina.

Hoy sin embargo, empecé a recibir este error:

~/.ssh/keyfolder/private_key: Permission denied

He intentado emitir un chmod 777 en esa clave privada pero no tuve suerte.

¿Qué he hecho / estoy haciendo mal?

$sudo ls -lha ~/.ssh/keyfolder/private_key
-rwxrwxrwx 1 rabdelaz staff 1.7K 2013-07-29 10:19 /home/rabdelaz/.ssh/keyfolder/private_key

RESPUESTA: Necesitaba los niveles de permiso correctos en los lugares correctos (obviamente).

así que lo que hice fue establecer la "carpeta de claves" y la clave en sí misma en 600.

No estoy seguro de lo que eran las permisos antes ...

Ramy
fuente
Proporcionar ls -lha ~/.ssh/keyfolder/private_key ... es posible que tu chmod no esté tomando.
mikebabcock
1
Estoy confundido tu ls comando se refiere a ~/.ssh/deployed/2013-07-29 pero las listas de salida /home/rabdelaz/.ssh/keyfolder/private_key ¿que esta pasando?
terdon

Respuestas:

5

Desea que tanto la carpeta de la clave como la propia clave solo sean legibles por el usuario. Siempre hago chmod 700 ~/.ssh; chmod 600 ~/.ssh/* yo, donde obviamente querrá cambiar esos directorios para que se adapten a su propio caso de uso.

mikebabcock
fuente
3

Nunca hagas un chmod 777 en su clave privada! Lo hace (posiblemente) públicamente legible, y usted no quiere eso. Además, en algunos casos, SSH incluso se negará a usar un archivo con permisos demasiado permisivos, por lo que podrías estar disparándote en el pie con esto.

Si los permisos del archivo no son el problema, puede haber varias otras causas. Podría tener permisos incorrectos establecidos en cualquiera de los directorios ~/.ssh o ~/.ssh/keyfolder (técnicamente también en ~ pero entonces este no sería el único síntoma). Utilizar ls -adl para inspeccionar esos directorios. Deberían tener rwx para ti, pero --- Tanto para el grupo como para el mundo.

Otro problema podría ser (pero esto es bastante raro) es que el ssh-add binario tiene el setuid conjunto de bits, lo que hace que se ejecute como un usuario diferente, y por lo tanto no tiene derecho a leer su clave privada. Utilizar ls -lh $(which ssh-add) para inspeccionar esto.

dr. Sybren
fuente
1

Lo primero que hay que hacer en esta situación es usar el -v Opción de ssh (adición detallada), para que pueda ver qué tipos de métodos de autenticación se están probando y cuál es el resultado. Esto puede dar una información sutil de las posibles cosas erróneas que pueden estar ocurriendo. Entonces miras la respuesta dada por Sybren.

Mayank Agarwal
fuente
ssh-add no soporta -v bandera.
styrofoam fly