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 ...
linux
ssh
permissions
Ramy
fuente
fuente
ls -lha ~/.ssh/keyfolder/private_key
... es posible que tu chmod no esté tomando.ls
comando se refiere a~/.ssh/deployed/2013-07-29
pero las listas de salida/home/rabdelaz/.ssh/keyfolder/private_key
¿que esta pasando?Respuestas:
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.fuente
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). Utilizarls -adl
para inspeccionar esos directorios. Deberían tenerrwx
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 elsetuid
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. Utilizarls -lh $(which ssh-add)
para inspeccionar esto.fuente
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.fuente
ssh-add
no soporta-v
bandera.