Com establir els permisos correctes del directori SSH a Linux
Perquè SSH funcioni bé, requereix els permisos correctes al directori ~/.ssh o /home/username/.ssh: la ubicació per defecte per a tots els fitxers d'autenticació i configuració ssh específics de l'usuari. Els permisos recomanats són de lectura/escriptura/execució per a l'usuari i no han de ser accessibles per grups ni per altres.
A més, ssh també requereix que els fitxers dins del directori tinguin permisos de lectura/escriptura per a l'usuari i no siguin accessibles per altres. En cas contrari, un usuari podria trobar el següent error:
Authentication refused: bad ownership or modes for directory
Aquesta guia explica com establir els permisos correctes al directori .ssh i als fitxers emmagatzemats en ell, en sistemes Linux.
Establiu els permisos correctes del directori SSH a Linux
Si alguna vegada trobeu l'error anterior, podeu establir els permisos correctes del directori ssh al directori .ssh mitjançant l'ordre chmod.
# chmod u+rwx,go-rwx ~/.ssh OR # chmod 0700 ~/.ssh
Per comprovar els permisos al directori ~/.ssh, utilitzeu l'ordre ls amb els senyaladors -l
i -d
, de la següent manera:
# ls -ld .ssh/
Els següents són alguns dels fitxers que trobareu al directori ~/.ssh:
- Fitxer de clau privada (p. ex. id_rsa): la clau privada per a l'autenticació, que conté informació molt sensible, per tant, ha de tenir permisos de lectura i escriptura per al propietari i no pot ser accessible pel grup i altres, en cas contrari, ssh es negarà a connectar.
- clau pública (per exemple, fitxer .pub): la clau pública per a l'autenticació, que també conté informació sensible, per tant, hauria de tenir permisos de lectura i escriptura per al propietari, permís de només lectura per grup i altres.
- authorized_keys: conté la llista de les claus públiques que es poden utilitzar per iniciar sessió com a usuari. No és altament sensible, però hauria de tenir permisos de lectura i escriptura per al propietari i no ser accessible ni pel grup ni per altres persones.
- known_hosts: emmagatzema una llista de claus d'amfitrió per a tots els amfitrions en què l'usuari ssh ha iniciat sessió. Hauria de tenir permisos de lectura i escriptura per al propietari i no ser accessible per a grups i altres.
- config: un fitxer de configuració per usuari i hauria de tenir permisos de lectura i escriptura per al propietari i no hauria de ser accessible per a grups ni altres.
Per defecte, els fitxers del directori ~/.ssh es creen amb els permisos correctes. Per comprovar els seus permisos, executeu l'ordre següent al vostre directori d'inici:
# ls -l .ssh/
Si ssh es queixa de permisos incorrectes en qualsevol dels fitxers anteriors, podeu establir els permisos correctes per a qualsevol dels fitxers com aquest:
# chmod u+rw,go-rwx .ssh/id_rsa # chmod u+rw,go-rwx .ssh/id_rsa.pub # chmod u+rw,go-rwx .ssh/authorized_keys # chmod u+rw,go-rwx .ssh/known_hosts # chmod u+rw,go-rwx .ssh/config OR # chmod 600 .ssh/id_rsa # chmod 600 .ssh/id_rsa.pub # chmod 600 .ssh/authorized_keys # chmod 600 .ssh/known_hosts # chmod 600 .ssh/config
A més, el directori d'inici d'un usuari no hauria de poder escriure el grup ni altres, tal com es mostra a la captura de pantalla següent.
# ls -ld ~
Per eliminar els permisos d'escriptura per al grup i altres al directori inicial, executeu aquesta ordre:
# chmod go-w ~ OR # chmod 755 ~
També us agradaria llegir els següents articles relacionats amb SSH:
- Com protegir i endurir el servidor OpenSSH
- 5 millors pràctiques de seguretat del servidor OpenSSH
- Com configurar l'inici de sessió SSH sense contrasenya a Linux [3 passos senzills]
- Com bloquejar atacs de força bruta SSH amb SSHGUARD
- Com utilitzar Port Knocking per assegurar el servei SSH a Linux
- Com canviar el port SSH a Linux
Això és tot de moment! Utilitzeu la secció de comentaris a continuació per fer preguntes o afegir els vostres pensaments sobre aquest tema.