L'aggiunta di una password alla chiave SSH significa che la chiave privata verrà archiviata crittografata sul computer locale. Quella chiave privata è un segreto piuttosto sensibile poiché sa che la chiave concede l'accesso a tutti i server su cui hai registrato la chiave pubblica corrispondente (nel tuo file .ssh/authorized_keys
).
I segreti nei file locali possono essere saccheggiati dagli aggressori in varie occasioni:
- Il tuo laptop viene rubato.
- Il tuo disco fisso si rompe (succede) e tu lo scarti, e l'attaccante lo recupera dal tuo cassonetto, lo ripara (ad esempio la parte rotta è la scheda elettronica e l'attaccante la sostituisce semplicemente) e legge i tuoi file.
- Fai un backup dei tuoi file su un dispositivo esterno (unità USB, nastro ...) e l'attaccante lo ruba.
- Alcuni malware sul tuo computer danno una sbirciata ai tuoi file e caricano le tue chiavi private su un server in Uzbekistan.
- Attraverso alcuni disgraziati problemi di configurazione, rendi i tuoi file disponibili al mondo intero (ad esempio con la condivisione del disco o con un server Web locale che non è stato configurato correttamente).
- Una vulnerabilità nel tuo browser Web consente temporaneamente al malintenzionato Javascript di leggere e caricare alcuni file arbitrari, ad es. le tue chiavi private SSH.
Questo elenco non è esaustivo. In tutte queste occasioni, la crittografia basata su password della chiave privata SSH renderà la vita più difficile per l'aggressore. Si noti che i file probabilmente contengono anche informazioni sensibili altri , quindi la crittografia SSH privata delle chiavi non è sufficiente per raggiungere la beatitudine della sicurezza assoluta; tuttavia, aiuta.
Naturalmente, non c'è nulla di completamente gratuito. Se si utilizza una password per proteggere l'archiviazione su disco della propria chiave privata, sarà necessario digitare tale password su base regolare. Come al solito, la sicurezza e la convenienza sono due lati di un trade-off.