-bash: cd: .ssh /: Permiso denegado

13

Cuando escribo en la cd .sshterminal, vuelve con -bash: cd: .ssh/: Permission denied. Ahora no puedo agregar mis claves ssh a ssh.

Cuando escribo ssh-add ~/.ssh/idnamedice /Users/Dan/.ssh/idname: Permission denied.

Creo que tiene que ver conmigo escribiendo ls -dporque funcionó antes de escribir esto en la terminal.

Daniel
fuente
¿Cuál es la salida de id;ls -ld ~/.ssh?
michas

Respuestas:

24

Como tiene "Permiso denegado" en un directorio, es probable que el directorio no tenga permisos de ejecución. Del mismo modo, para atravesar un árbol de directorios para llegar a un archivo, necesitaría ejecutar permisos en cada directorio entre la raíz y el archivo (de ahí el mismo error para el otro comando).

Intente configurar los permisos de ejecución en el directorio

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

Luego vea si puede ejecutar esas declaraciones nuevamente.

Arcege
fuente
Un comando tan fácil y elegante. ¡Trabajó de inmediato en mi Mac!
IgorGanapolsky
Un inconveniente chmod u+xr,go-rwxes cómo el usuario necesita confirmar qué configuraciones deben agregarse o restarse de antemano. por otro lado, es más completo que usar un código numérico, por ejemplo chmod 1755.
noobninja
1

Además de la respuesta de Arcege, también puede usar
sudo su <enter password> cd .ssh
El sudocomando (sin otro nombre de usuario) le permite ejecutar comandos como superusuario (root), siempre que sea un sudo-er (su nombre de usuario está en /etc/sudoerslos campos correctos) y conozca la contraseña para ese usuario habilitado para sudo.

Advertencia:
Operar como superusuario puede ser peligroso si no sabes lo que estás haciendo. Inadvertidamente puede modificar o destruir archivos esenciales. Usar sudocon precaución.

skamazin
fuente
Sí, esto funcionó cuando chmodno funcionaría.
Pro Q