Générer un mot de passe aléatoire sous Linux

Voici un enchainement de commandes simples qui permet de générer très facilement une chaîne de caractère aléatoire composée de lettres minuscules, majuscules et de chiffres, et qui peut donc être utilisée comme générateur de mot de passe :

$ tr -d -c "a-zA-Z0-9" < /dev/urandom | head -c 8

Petite explication de texte :

  • /dev/urandom : interface du générateur de nombres aléatoires du noyau
  • tr : commande utilisée pour supprimer tous les caractères (option -d) ne correspondant pas (option -c) à la chaîne de caractères qui suit. Ici, on garde les lettres minuscules (a-z), les lettres majuscules (A-Z) et les chiffres (0-9). D’autres caractères peuvent être ajoutés, par exemple a-zA-Z0-9;,:?\!_- pour complexifier un peu plus le mot de passe.
  • head : commande qui permet de sélectionner les 8 premiers caractères (option -c 8). A adapter selon la longueur du mot de passe souhaitée.

2 réflexions sur « Générer un mot de passe aléatoire sous Linux »

  1. Salut  et merci! Exactement ce que je cherchais à faire sans vraiment y parvenir 🙂

    Je propose cette écriture qui m'apparait plus lisible pour les néophites comme moi… mais on est d'accord c'est la même chose:

    cat /dev/urandom | tr -d -c [:alnum:] | head -c 8

    On y comprend mieux les étapes et on lit de gauche à droite… Merci et bonne continuation.

  2. Sinon, il existe des outils tout fait. Celui que j’utilise le plus : pwgen ( $ pwgen 8 1 # pour reprendre l’exemple ci-dessus)

Laisser un commentaire

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