Hace poco jugué con el directorio .ssh. Hice algunos cambios de permisos, creo, y ahora ya no me deja acceder. Puedo acceder a él como usuario root (sudo -i) pero no como somesh
Obtengo permiso denegado al enumerar o codificar en .ssh aunque muestre los archivos
ls: cannot access /home/somesh/.ssh/amazon.pem: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa: Permission denied
ls: cannot access /home/somesh/.ssh/known_hosts: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa.pub: Permission denied
total 0
-????????? ? ? ? ? ? amazon.pem
-????????? ? ? ? ? ? id_rsa
-????????? ? ? ? ? ? id_rsa.pub
-????????? ? ? ? ? ? known_hosts
Iniciar sesión como root y ls da los siguientes resultados
# ls -l /home/somesh/ -a |grep ssh
drw-rw-rw- 2 somesh somesh 4096 Aug 27 15:45 .ssh
Incluso los archivos dentro de .ssh son propiedad de somesh: somesh y chm
-rw-rw-rw- 1 somesh somesh 1692 Aug 27 15:45 amazon.pem
-rw-rw-rw- 1 somesh somesh 1675 Aug 25 20:01 id_rsa
permissions
ssh
chmod
Somesh Mukherjee
fuente
fuente
~/.ssh
directorio es700
(drwx------
).Respuestas:
Steeldriver tiene razón. En el directorio también necesita
x
acceder a la bandera para poder enumerar los archivos dentro.Arreglar el directorio usando
chmod 700 ~/.ssh
debería ayudarlo a entrar en este estado (correcto):También debe arreglar sus claves usando
chmod 600 ~/.ssh/id_rsa
ychmod 644 ~/.ssh/*.pub
para obtener esto:fuente
Cuando ejecuta el comando ls -l en cualquier directorio, la primera columna es la columna de permiso que se interpreta de la siguiente manera:
1 ------------- 2 3 4 ------- 5 6 7 ------- 8 9 10
(TIPO) ---- (usuario) ----- (grupo) ---- (otros)
TIPO: Si '-' , es un archivo. Si 'd' es un directorio.
Permisos: lectura: 4, escritura: 2, ejecución: 1
Entonces, para leer, escribir y ejecutar, sus permisos serán 7 en el grupo de usuarios.
Puedes usar
o
-R : esto modifica el permiso de la carpeta principal y los objetos secundarios dentro de
fuente
chmod 700 file_name
ychmod u+x file_name
hacer dos cosas completamente diferentes. El primero establece los permisos enrwx/---/---
, el segundo solo establece elx
bit para el propietario (y a partir de666
él cambiará el archivo a766
, no a700
).-
carácter significa que es un archivo "normal". Ad
significa que es un directorio. También hay otros, comoc
,l
(para enlace simbólico)s
, y aún más para otros sistemas operativos.