Perché utilizzare le chiavi SSH dedicate per diversi host (come GitHub)?

5

Recentemente ho scoperto github-keygen , uno strumento che ti aiuta a configurare SSH per l'uso con GitHub. Una delle cose che lo strumento fa è creare una nuova chiave privata SSH dedicata agli scambi di GitHub; il manuale afferma che "questo è molto meglio che usare la stessa chiave SSH per connettersi a più host". Non capisco perché usare una chiave dedicata per GitHub dovrebbe essere migliore. Il manuale giustifica questa pratica come segue:

(If you loose [sic] that key, just revoke it in your GitHub account SSH settings, remove the key file, and re run github-keygen).

Ma sicuramente la stessa cosa che faresti se avessi perso una chiave SSH non dedicata - la rimuoverai dal tuo elenco di chiavi autorizzate su GitHub (e dal file authorized_keys di ogni altro remoto macchina che usi) e poi generarne una nuova. Cosa ti compri usando le chiavi SSH dedicate per diversi host remoti (come GitHub)?

    
posta Psychonaut 22.06.2016 - 08:28
fonte

2 risposte

2

Why use dedicated SSH keys for different hosts (like GitHub)?

Risposta: Revoca.

Quando perdi una chiave SSH, devi revocarla su tutto ciò a cui ha accesso. Se usi la stessa chiave su GitHub mentre usi SSH nel tuo web hosting personale, devi rimuovere la chiave da entrambi i posti. Una chiave per servizio significa che nessuna delle tue altre chiavi è influenzata dalla perdita.

    
risposta data 24.06.2016 - 03:59
fonte
1

Il consiglio di GitHub è probabilmente più che eccessivo. L'uso della stessa chiave SSH su più sistemi non ha nulla a che vedere con i rischi associati all'utilizzo della stessa password su più sistemi. Tuttavia, ci sono alcuni altri fattori da considerare che possono comportare che qualcuno abbia più di una chiave SSH.

La ragione più ovvia per avere più di una chiave ssh si riferisce al tuo concetto di identità. Mentre molti di noi considerano che abbiamo un'unica identità, la realtà è che probabilmente ne abbiamo almeno due: un'identità personale / privata e un'identità lavorativa. Per la maggior parte di noi, la nostra identità personale non cambia mai, ma la nostra identità lavorativa / professionale potrebbe cambiare molte volte durante una carriera. Pertanto, ha spesso senso tenere separate queste due identità. In alcune organizzazioni, ti viene persino assegnata una chiave SSH di "lavoro" e quando lasci l'organizzazione, quella chiave viene revocata. Se usi quella chiave per scopi personali, potresti scoprire di aver perso l'accesso ad alcune risorse o di dover passare attraverso una procedura di controllo per recuperare l'accesso ecc.

Un altro motivo per avere più di una chiave ssh è limitare il valore della tua chiave ssh. Questo è simile ad avere due portachiavi separati: uno che si appende al gancio nella sala e l'altro che si tiene in una cassastrong sotto il pavimento. Il primo contiene la chiave per risorse a basso rischio e di uso frequente. Il secondo, ad alto rischio o risorse richieste raramente. Se la tua casa viene derubata, probabilmente otterrà il primo, ma non il secondo, riducendo al minimo il danno.

Quest'ultimo articolo si riferisce alla gestione delle chiavi e, secondo la mia esperienza, la più frequente debolezza / fallimento che vedo rispetto alle chiavi SSH e una delle ragioni per cui penso che non abbiamo visto una più ampia distribuzione di chiavi ssh. Incontro frequentemente situazioni in cui le persone utilizzano una chiave SSH, ma hanno diverse pratiche di gestione delle chiavi. In realtà, utilizzare le chiavi SSH con cattive pratiche di gestione delle chiavi è spesso meno sicuro che affidarsi solo alle password. Molti utenti non capiscono quanto sia fondamentale proteggere la propria chiave privata e commettono errori, come controllarli in sistemi di controllo delle versioni, archiviarli in backup non protetti, copiarli su vari sistemi di cloud storage, ecc. Troppo spesso, trovo persone che usano chiavi ssh senza passphrase perché è più conveniente. Questa è una cattiva idea. Se vuoi praticità, usa un agente ssh configurato in modo appropriato, ma assicurati di avere una buona passphrase (nota l'uso della frase piuttosto che della parola!).

È a causa di questo problema di gestione delle chiavi che non consiglierei l'uso di chiavi diverse per ogni sito. Oltre a non migliorare la sicurezza, si aggiunge all'onere di gestione delle chiavi: più chiavi si devono gestire e più errori si verificano. La maggior parte delle persone vorranno più di una chiave, ma sarebbe inusuale averne bisogno di più di 5 e nella maggior parte dei casi, 2 o 3 potrebbero essere sufficienti.

    
risposta data 24.06.2016 - 03:50
fonte

Leggi altre domande sui tag