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.