GNU/Linux >> Linux Esercitazione >  >> Linux

Autorizzazioni Ssh e Home Directory?

Mi ci sono volute ore per risolvere questo problema SSH con uno dei miei account di classe sui server della mia scuola.

Non potevo accedere a un particolare account di classe senza inserire la mia password, mentre l'autenticazione senza password funzionava con gli altri account di classe. La directory .ssh/ e tutto il suo contenuto avevano le stesse autorizzazioni corrette degli altri account di classe.

Si scopre che il problema erano le autorizzazioni impostate sulla mia home directory. L'autenticazione senza password non funzionava quando i permessi nella mia directory HOME erano impostati su 770 (indipendentemente dai permessi impostati per .ssh/), ma funzionava con i permessi impostati su 755 o 700.

Qualcuno sa perché SSH fa questo? È perché i permessi della home directory sono troppo permissivi? Perché SSH si rifiuta di autenticarsi con le chiavi pubbliche/private quando la home directory è impostata su un valore più permissivo di 700?

Risposta accettata:

Questo è il comportamento predefinito per SSH. Protegge le chiavi utente applicando rwx------ su $HOME/.ssh e assicurandoti che solo il proprietario abbia i permessi di scrittura su $HOME . Se un utente diverso dal rispettivo proprietario ha il permesso di scrittura su $HOME directory, potrebbero modificare maliziosamente i permessi su $HOME/.ssh , potenzialmente dirottando le chiavi utente, known_hosts , o qualcosa di simile. In sintesi, le seguenti autorizzazioni su $HOME sarà sufficiente per il funzionamento di SSH.

  • rwx------
  • rwxr-x---
  • rwxr-xr-x

SSH non funzionerà correttamente e invierà avvisi alle strutture di log in caso di variazione di g+w o o+w esiste su $HOME directory. Tuttavia, l'amministratore può ignorare questo comportamento definendo StrictModes no nel sshd_config (o simile) file di configurazione, anche se dovrebbe essere chiaro che questo è non consigliato .


Linux
  1. Domande per l'intervista su Linux:autorizzazioni di base per file e directory

  2. Tabella delle autorizzazioni per tipi di utenti di file/directory e file system

  3. Trova e rinomina una directory

  4. Come posso automatizzare la cancellazione e il ripristino della home directory di un utente Linux su un valore predefinito?

  5. Autorizzazioni di scrittura dell'utente SFTP con chroot

Autenticazione SSH Ansible ed escalation dei privilegi

Tunneling e proxy SSH

Permessi della directory Linux di base e come controllarli

Gestisci le autorizzazioni di directory e file con chmod Recursive

directory home e shell per gli utenti autenticati di Active Directory

Puppet:ottieni la home directory degli utenti