Salta al contenuto principale

Permessi Directory .ssh: Configurazioni, Errori e Soluzioni

La directory .ssh è il cuore delle connessioni sicure SSH, ma errori nei permessi possono bloccare l’accesso o esporre dati sensibili. Questo articolo spiega come:

  • Configurare correttamente i permessi della directory .ssh e dei suoi file.
  • Risolvere errori comuni come ssh permission denied (publickey) o bad permissions .ssh/known_hosts.
  • Garantire la sicurezza delle chiavi SSH con best practice.

Ottimizza la Sicurezza SSH della Tua Azienda

Evita accessi non autorizzati: i nostri esperti Linux configurano SSH per proteggere server e dati critici.

1. Perché i permessi della directory .ssh sono critici?

SSH (Secure Shell) richiede che:

  • La directory .ssh abbia permessi 700 (solo il proprietario o "owner" può leggere/scrivere).
  • I file id_rsa (chiave privata) abbiano permessi 600.
  • File come authorized_keys o known_hosts abbiano permessi 644.

Cosa succede se i permessi sono sbagliati?

  • ssh permission denied (publickey): SSH blocca l’accesso per prevenire rischi.
  • error: bad permissions .ssh/known_hosts: Il file è modificabile da utenti non autorizzati.

2. Come Configurare i Permessi della Directory .ssh

Passo 1: Verifica la struttura della directory

Assicurati che la directory esista nella home dell’utente:

ls -al ~/.ssh  

Passo 2: Imposta i permessi corretti

  • Directory .ssh:

    chmod 700 ~/.ssh  
  • Chiave privata (es. id_rsa e id_ed25519):

    chmod 600 ~/.ssh/id_rsa
    chmod 600 ~/.ssh/id_ed25519
  • File authorized_keys e known_hosts:

    chmod 644 ~/.ssh/authorized_keys
    chmod 644 ~/.ssh/known_hosts  

Passo 3: Controlla owner e gruppo

La directory e i file devono appartenere all’utente e al gruppo corretto:

sudo chown -R $USER:$GROUP ~/.ssh

3. Riepilogo permessi directory .ssh

ElementoEsempioNumericoBitwise
Cartella SSH~/.ssh700drwx------
Chiave pubblica~/.ssh/id_rsa.pub644-rw-r--r--
Chiave privata~/.ssh/id_rsa600-rw-------
Configurazione~/.ssh/config600-rw-------
Cartella Home~755 al massimodrwxr-xr-x al massimo

4. Risoluzione Errori Comuni

Errore 1: ssh permission denied (publickey)

Cause:

  • Permessi troppo aperti sulla directory .ssh o sulla chiave privata.
  • File authorized_keys non configurato correttamente.

Fix:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

Errore 2: error: bad permissions .ssh/known_hosts

Causa:

  • Il file known_hosts ha permessi errati, permessi 777 (rwx) o è scrivibile da altri.

Fix:

chmod 644 ~/.ssh/known_hosts

Errore 3: Problemi con la home directory

Se la directory home dell’utente ha permessi troppo aperti (es. 777), SSH rifiuterà l’accesso.
Come sistemare i permessi:

chmod 750 ~/

Best Practice per la Sicurezza SSH

  • Usa ssh-keygen -t ed25519 per generare chiavi crittograficamente robuste, con crittografia ellittica.
  • Evita permessi 777 su qualsiasi file o cartella, soprattutto se collegata a SSH.
  • Automatizza i controlli con script Bash o strumenti come Ansible.

FAQ

Q1: Perché la directory .ssh deve avere permessi 700?

R: Permessi 700 garantiscono che solo il proprietario possa accedere alla directory, prevenendo letture non autorizzate.

Q2: Come verificare i permessi con ssh -v?

R: Usa ssh -v user@host per debug dettagliato. L’output mostrerà errori come Permissions 0644 for 'id_rsa' are too open.

Q3: Cosa fare se non ho i permessi di root?

R: Contatta l’amministratore di sistema o utilizza chown e chmod con i privilegi dell’utente corrente.

Aggiungi un commento

Comment

  • Elementi HTML permessi: <br> <p> <code class="language-*"> <pre>
  • Linee e paragrafi vanno a capo automaticamente.
  • Solo le immagini ospitate su questo sito possono essere utilizzate nel tag <img>.