Generare password casuali da terminale

« Older   Newer »
 
  Share  
.
  1. Unversed
        +1   -1
     
    .

    User deleted


    Mi è capitato diverse volte di avere la necessità di generare una password casuale e in passato la soluzione più veloce che utilizzavo di solito era digitare in Google “random password generator”. Questa soluzione però oltre ad essere scomoda (richiede una connessione ad internet ed un browser web) non è neanche molto sicura.


    In Ubuntu, e in genere in qualunque altra distribuzione GNU/Linux, esistono metodi molto più sicuri e pratici per generare una password.

    Il più comodo e veloce consiste nell’installare il pacchetto pwgen:


    sudo apt-get install pwgen

    Questo software permette di generare password facili da ricordare, pur mantenendo alto il livello di sicurezza. Se invece non interessa generare password facilmente memorizzabili e si preferisce avere delle password completamente random si può utilizzare l’opzione -s. Sono presenti molte altre opzioni che permettono ad esempio di evitare caratteri simili (1 e l, 0 e O) e di impostare la lunghezza e il numero delle password generate. Per l’elenco di tutte le opzioni disponibili consiglio la lettura della manpage di pwgen:



    man pwgen

    Se non è possibile/non si vuole installare il pacchetto pwgen è possibile generare delle buone password casuali sfruttando i tools messi a disposizione dalla console.


    Ad esempio per generare 4 password di 8 caratteri alfanumerici sarà sufficiente digitare in un terminale la seguente stringa:



    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 4


    Per aumentare il livello di sicurezza della password è possibile aggiungere altri caratteri non alfanumerici, come ad esempio _!@#$%^&*()+[]|:<>?=:


    cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()+[]|:<>?=' | fold -w 8 | head -n 4


    Se si vuole essere sicuri che la password contenga almeno un carattere speciale è necessario aggiungere un grep al comando precedente:


    cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()+[]|:<>?=' | fold -w 8 | grep -i '[_!@#$%^&*()+|:<>?=]' | head -n 4


     
    Top
    .
0 replies since 23/6/2011, 13:48   128 views
  Share  
.