¿Cómo obtengo permiso para generar claves ssh en mi Mac?

Intenté generar claves ssh para GitHub (acceso a través de SSH en la terminal), pero no tengo acceso al .sshdirectorio. Lo intenté ls -l ~/.ssh, pero obtuve este error.ls: .ssh: Permission denied

Traté de leer en Internet montones de tutoriales y consejos para solucionarlo, pero desafortunadamente nada me funciona.

¿Qué estoy haciendo incorrectamente y cómo puedo solucionarlo? Estoy ejecutando en Mac os X 10.6

Respuestas (4)

parece que no tiene permiso de ejecución en su carpeta .ssh: intente ejecutar ls -ld ~/.sshy verifique que los permisos sean drwx------y que el directorio sea de su propiedad. Si los permisos difieren, ejecute chmod -R u+rwX,go-rwx ~/.ssh; si no es el propietario, ejecute chown -R <your account name> ~/.ssh(descubra el nombre de su cuenta ejecutando whoami).

Si los comandos chmod o chown fallan debido a errores de permisos, ejecútelos de nuevo, pero prefílelos con sudo.

chown -R YOUR_USER: ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
Necesita 600 permisos sobre el contenido de ~/.ssh, pero 700 sobre el propio directorio. ~La versión de Daniel Holz (con u+rwX) hace esto bien.

Correr

man chown
man chmod

y lea cómo cambiar la propiedad y los permisos del directorio.

He quitado la parte 'sudo', no necesitas sudo para leer páginas de manual.

Entra en la Terminal y escribe:

chmod a+rwx ~/.ssh

Y genera tus claves.

Una vez que haya terminado de generar sus claves, vuelva a bloquear su directorio .ssh haciendo lo siguiente:

chmod go-rwx ~/.ssh    
chmod u+rwx ~/.ssh

El primer comando elimina los permisos de "grupo" y "otros" y el segundo probablemente no sea necesario, pero establece explícitamente sus propios bits rwx.

Espero que la razón por la que el directorio .ssh esté bloqueado para "otros" y "grupos" sea para evitar que las aplicaciones y procesos maliciosos detecten las claves que viven en ese directorio.

chmod u+rwxno elimina ningún acceso; debe eliminar todos los accesos para los miembros del grupo y otras personas con algo como chmod go=, chmod go-rwxo chmod 700.
Sí, tienes razón Gordon. ¡Editaré mi respuesta!
¿Por qué 'chmod a+..' en primer lugar? No debería ser necesario....