QuickTipp: Passwort mit Hilfe von Linux generieren

4. December 2013 at 17:00
This post was published 2 years 8 months 23 days ago, so the post may be outdated.

Ein Passwort generieren
Mit dem heutigen Quick-Tipp lässt sich mit Hilfe der Linux-Shell und einem einzeiligen Befehl mit meist bereits vorhandenen Linux-Befehlen ein zufälliges 20-stelliges Passwort generieren – wunderbar für die Verwendung von automatischen Installationsscripts, ohne irgendwelche besonderen Abhängigkeiten zu haben bzw. spezielle Pakete vorher installieren zu müssen.

head -c 300 /dev/urandom | tr -cd '[a-zA-Z0-9-_]' | head -c 20

Mehrere Passwörter generieren
Beispiel um neun Passwörter je 20 Zeichen zu generieren:

# for ((i=1; i<=9; i++)); do echo -n "$i: " && head -c 300 /dev/urandom | tr -cd '[a-zA-Z0-9-_]' | head -c 20 && echo; done 1: UJB1-Fa0ELrFN8Rw5Qvx 2: x7et5c55ggG71[sNjN6x 3: -K9CsPSF_DO]P2NA3vkC 4: DjojU3Y9NMOgbQ50IYwS 5: GEJVdHmp-_VuTx_A7izX 6: KMnlxD[9543Gil_UNAd0 7: eazr4sPeGE0a-ZqG-Pxu 8: eCbf4tELNc7kn]Z0WCv6 9: WqjVnmKdcin_wg6BKRuc

Kurze Erklärung
Der Befehl kurz genauer erläutert:

head -c 300 /dev/urandomLiest die ersten 300 zufälligen Zeichen von /dev/urandom aus
tr -cd '[a-zA-Z0-9-_]'Löscht alle Zeichen, bis auf Buchstaben, Zahlen, Binde- und Unterstriche
head -c 20Gibt die ersten 20 Zeichen der geparsten Ausgabe aus

Update 16.09.2014: Man kann hierbei auch tr -cd '[:print:]' verwenden, wenn man alle "normal lesbaren" Zeichen zulassen möchte. Die Passwörter würden dann so ähnlich aussehen: k-/abFcS$I eA6m`its~