Générer un mot de passe aléatoire et complexe en ligne de commande sous Linux

Dans les sytèmes de type Unix, comme GNU/Linux, /dev/random est un fichier spécial qui sert de générateur de nombres aléatoires.
Il est donc possible d’optenir nativement sous GNU/Linux un ou des mots de passe aléatoires et complexes.

/dev/urandom

Voici un exemple d’utilisation:

</dev/urandom tr -dc '12345!@#$%^&*()_A-Z-a-z-0-9'| fold -w10 | head -5

Exemple de résultat:

lgkyowqwtT
U54RG!@5Ca
maRt%JsIqK
W2l^ORWaGW
C*5r3w^Ywq
Explication
  • tr -dc ‘!@#$%^&*()_A-Z-a-z-0-9’:
  • indique les caractères à utiliser pour créer le mot de passe. Dans l’exemple il sera utilisé toutes les lettres de l’alphabet(majuscule/minuscule), tous les chiffres(de 0 à 9) et les caractères spéciaux !@#$%^&*()_.

  • fold -w10:
  • Trouve des mots de passes de 10 caractères.

  • head -5:
  • Génère 5 mots de passes différents.

Conclusion

Avec cette astuce assez simple, la génération de mot de passe se fait nativement sans besoin d’installler un logiciel spécifique, comme par exemple pwgen.

2 Comments

  1. Bonjour 10 ans plus tard.
    la commande suivante
    MDP_OK=1;while [ ${MDP_OK} -eq 1 ];do MDP_USR=$(cat /dev/urandom|tr -dc [:alnum:]|head -c15);echo ${MDP_USR}|egrep « ^[[:upper:]][[:digit:]][[:lower!]] »;MDP_OK=$?;done
    me permet de générer un mot de passe de 15 caractères alpha-numériques commençant par une majuscule, puis un chiffre, puis une minuscule.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.