Devo generare nuove chiavi private SSH per ogni macchina da cui lavoro?

13

Spero che questo sia un posto appropriato per porre questa domanda. Ho pensato recentemente alle chiavi pubbliche e private e mi sto chiedendo quali sono le migliori pratiche relative alla gestione delle mie chiavi private personali. Nello specifico, se uso regolarmente tre computer diversi (desktop personale, desktop di lavoro, laptop), insieme ad altri con uso più occasionale, qual è il modo migliore di utilizzare le chiavi private?

Attualmente generi una nuova coppia di chiavi su ogni computer che sto usando, quindi finisco per aggiungerle a authorized_keys quando ne ho bisogno. È questo il modo migliore per andare, o dovrei usare una singola coppia di chiavi e copiarla su tutti i computer che uso? Immagino che la domanda sia: la mia coppia di chiavi dovrebbe essere usata per identificare "me" o per identificare "me al computer X"?

    
posta Ryan 11.10.2015 - 17:47
fonte

5 risposte

10

La domanda è un po 'confusa. A quanto ho capito, mi stai chiedendo di accedere a un server, tramite SSH impostato con PubKeyAuthentication , da una delle tue tre macchine.

Dovresti generare un paio di chiavi per ogni macchina. In questo modo, se una chiave privata viene compromessa, non è necessario rigenerare una coppia di chiavi su tutte e tre le macchine da cui si effettua il login. Infatti, vuoi identificarti (sul server) come "tu al computer X".

Se stavi utilizzando PGP, dovresti utilizzare una coppia di chiavi univoche per identificarti (con altri utenti PGP) come "tu".

    
risposta data 11.10.2015 - 18:24
fonte
3

Ogni coppia di chiavi rappresenta un'identità . A volte può essere utile avere un'identità diversa su ogni macchina che si usa, ma a volte può essere utile condividere un'identità tra i dispositivi.

Quando hai una chiave separata per ogni dispositivo, quindi:

  • I tuoi partner di comunicazione devono avere le chiavi pubbliche per tutti i tuoi dispositivi e devono verificare che sei tu (puoi fornire quest'ultimo firmando le chiavi di tutti i dispositivi con le chiavi di tutti gli altri dispositivi). Questo diventa piuttosto ingombrante quando acquisti un nuovo dispositivo.
  • I tuoi partner di comunicazione sanno da quale dispositivo hai inviato un messaggio, che riduce la tua privacy.

Quando usi le chiavi solo per scopi privati, ad esempio per accedere al tuo server, avere una chiave separata per ogni dispositivo ha il vantaggio che se una chiave viene compromessa, devi solo revocare quella chiave e non farlo " Devo sostituire la chiave su ogni singolo dispositivo che possiedi. Ma il costo per questo è un overhead di gestione più elevato: per aggiungere un nuovo dispositivo, è necessario accedere con un vecchio dispositivo per aggiungere la nuova chiave pubblica. Con una chiave condivisa, devi solo copiare la chiave sul nuovo dispositivo.

    
risposta data 12.10.2015 - 11:01
fonte
1

Is this the best way to go, or should I be using a single key pair and copying it to all of the computers I use?

Come @ dr01 ha evidenziato i rischi, dovresti utilizzare una sola chiave per computer.

should my key pair be used to identify "me", or to identify "me at X computer"?

Qualsiasi password o sistema di autenticazione basato su chiave identifica solo la conoscenza del segreto o della chiave e non l'utente.

The problem with using a password for authentication is that it doesn't prove the person logging in is you. All it proves is that they know your password (http://www.pcmag.com/article2/0,2817,2428440,00.asp).

Quindi una chiave non ti identifica mai, identifica solo se un utente (te al computer X o chiunque al computer Y) ha la chiave.

    
risposta data 12.10.2015 - 00:33
fonte
1

Considera anche l'idea di utilizzare un dispositivo hardware. Un NEO YubiKey può memorizzare una chiave GPG e gpg-agent può usarlo per autentificarlo su qualsiasi server esattamente come un normale file ~ / identity.

C'è un tutorial per l'uso di gpgkey2ssh e gpg -agent per configurarlo.

    
risposta data 12.10.2015 - 03:10
fonte
-3

Non è necessario generare una nuova coppia di chiavi per ogni macchina. Hai solo bisogno di importare le chiavi attuali su tutte le macchine.

Se generi tre nuove coppie di chiavi, i tuoi contatti saranno confusi tra loro.

    
risposta data 11.10.2015 - 17:57
fonte

Leggi altre domande sui tag