GNU/Linux >> Linux Esercitazione >  >> Linux

Una posizione centrale per authorized_keys è una buona idea?

Soluzione 1:

Tutti i file delle chiavi possono essere centralizzati nella stessa directory e non mischiati nello stesso file.

Imposta semplicemente sshd_config file come questo:

AuthorizedKeysFile  /etc/ssh/authorized_keys/%u

Sul tuo server:

  • Le chiavi www-data saranno in /etc/ssh/authorized_keys/www-data
  • le chiavi radice saranno in /etc/ssh/authorized_keys/root

Per quanto riguarda i diritti di accesso, queste impostazioni sono accettate da sshd:

/etc/ssh/authorized_keys è di proprietà di root:root e ha la modalità 755. I file chiave sono di proprietà di root:root e hanno la modalità 644.

Altre modalità potrebbero funzionare ma non le ho testate.

Soluzione 2:

In generale non farei quello che mi suggerisci. Rompe i presupposti comuni (come ~/.ssh/authorized_keys lavorare per i tuoi utenti e introduce i problemi che hai già menzionato nella tua domanda. Se noti evidenti problemi prima dell'implementazione, significa che la tua soluzione non è l'ideale.

Per quanto riguarda la sicurezza, penso anche che sia un TERRIBILE idea di far condividere a tutti un account di servizio:in questo momento ci sei solo tu e sai che sei tu a fare i cambiamenti. Tra 5 anni, quando avrai 5 amministratori, vorrai sapere chi ha cambiato cosa e scavare nei registri di controllo per vedere chi ha usato quale chiave quando è un dolore reale.
È meglio che le persone accedano come se stesse e utilizzino sudo o qualcosa di simile per aumentare i loro privilegi e fare tutto ciò che devono fare.

Se vuoi ancora centralizzare le chiavi SSH, ti suggerisco di esaminare un sistema di distribuzione come Puppet o radmind per gestire/distribuire authorized_keys file nell'appropriato ~user/.ssh/ directory (o hackerare una soluzione fatta in casa che le SCP le metta in posizione).
Man mano che ti espandi a più server, potresti voler cercare nella patch della chiave pubblica LDAP le versioni precedenti di OpenSSH (o il AuthorizedKeysCommand direttiva e uno script appropriato nella versione più recente di OpenSSH) in modo da poter centralizzare i tuoi utenti e non dover distribuire le loro chiavi in ​​tutta la tua rete, ma è probabile che sia piuttosto lungo la strada per te.


Linux
  1. Qual è la password di root predefinita per MySQL 5.7

  2. Posizione di .bashrc per Bash su Ubuntu su Windows in Windows 10

  3. Dov'è .bashrc per root?

  4. la password di root non funziona per su nel terminale

  5. Abilita la password semplice per l'utente root su CentOS

11 utili esempi di comandi divisi per sistemi Linux

Come impostare i privilegi di Sudo per l'utente in Linux

A cosa servono gli inode?

Genera chiavi SSH per l'accesso senza password in Ubuntu

È utile creare una partizione separata per /boot?

Aggiunta di entropia numerica casuale per le chiavi GPG?