zufällige Passwörter generieren

Ich bin in letzter Zeit des öfteren über das Problem gestolpert, mir neue Passwörter ausdenken zu müssen. Da ich keine nun weder lust auf “auf die schnelle” ausgedachte und extrem unsichere Passwörter wie password123 hatte, noch auf grafische Tools zurückgreifen wollte, habe ich mich auf die Suche nach Möglichkeiten zur Passwortgenerierung in der Shell begeben.

/dev/random

Die naheliegenste, wenn auch aufwändigste Methode (unter Linux) ist es, /dev/random zu nutzen. Mein erster Versuch sah wie folgt aus:

jxn@david:~$ head -n 1 /dev/random
A��ɫ�M����▒$+�+Ť���d����t��~#9yi���m

, was (wie man oben sehen kann) einen ziemlich unbrauchbaren Müll erzeugte.

Im nächsten Versuch holte ich mir nur noch die ersten 9 Zeichen statt einer ganzen Zeile und wandelte mit uuencode alles in leserliches ASCII um:

jxn@david:~$ head -c 9 /dev/random | uuencode -m -
begin-base64 644 -
G7n6csku
====

Unglücklicherweise gab es da noch diesen eigenartigen Müll vor und nach meinem gewünschten Passwort. Es gibt viele Wege, dies zu beseitigen. Ich nahm sed:

jxn@david:~$ head -c 9 /dev/random | uuencode -m - | sed -n '2p'
LdsZTzueVFMS

Tadaa! Das einzige verbleibende Problem könnten noch ungewünschte Zeichen wie /, +, ? oder _ sein, welche sich aber ebenfalls mit sed und ein Paar regulären Ausdrücken leicht entfernen lassen:

jxn@david:~$ head -c 9 /dev/random | uuencode -m - | sed -n '2s/[^a-zA-Z 0-9]//;2p'
wsS8xBNMGDSA

Fertig. Ich empfehle aus Komfortgründen jedoch, das ganze in ein Shellscript zu packen. ;-)

Das Problem der mit /dev/random genertieren Passwörter ist jedoch, dass sie in den meisten Fällen nicht aussprechbar sind und sich deswegen nicht sehr gut merken lassen:

mmN7kDsf+Ag z9E60Ve+vdP zzGYMiBEnkfV zMy5F8QHFG6c Msa9VrXSlWz3 u87UkaPLhBJy nw1jbXg1Gavo wFHnpCAiDkYg 0VgdCgSoN0n9 JcjT2SR8LWJY

pwgen

Wer sich Passwörter wünscht, die sich garantiert leichter merken lassen, der sollte das Programm pwgen ausprobieren. Es generiert ebenfalls zufällige Passwörter und sollte in den meisten Distributionen verfügbar sein. Das Programm ist zunächst ein wenig knifflig weil es, wenn ohne Parameter ausgeführt eine Tabelle mit 50 Passwörtern generiert. Um nur ein Passwört ausgeben zu lassen genügt ein:

pwgen -1

Andererseits generiert das Programm ebenfalls nur ein einziges Passwort wenn die Ausgabe in eine Datei umgeleitet wird. In wirklichkeit sind natürlich nicht alle Passwörter aussprechbar oder gar leicht zu merken. Aber die meisten von ihnen sind es, und das ist mehr als genug. Als kleines Beispiel hier noch ein paar der von pwgen generierten Passwörter:

zaiCh7th Eeheex3j hooKah1d eeQua8ie Ooghath8 queo3EiP teiP5lan aheeCh4r

otp

Ein weiteres nützliches Programm ist otp, was eigentlich ein Akronym ist und für One Time Pad steht. Es wurde entwickelt, um Schlüssel für jene Verschlüsselungsmethode zu generieren. Aber die Standardausgabe reicht für unsere Zwecke völlig. Hier noch ein Beispiel für die Ausgabe von otp:

1) arri-ylew 2) riuo-ytrh 3) wkgc-elrb 4) npfn-ffkb
5) hptz-dlzv 6) yawa-vfhs 7) ohmp-rsun 8) cajw-bfqg

Genau wie pwgen generiert otp standardmäßig 50 Passwörter. Um nur ein einziges auszugeben, (für Scripts beispielsweise) reicht:

otp -n1

apg

Solltet ihr eine noch größere Zufälligkeit brauchen, werdet ihr warscheinlich apg mögen. Ohne Parameter ausgeführt, fragt es euch zunächst nach ein wenig Eingabe eurerseits. Der Algorithmus generiert dann eine Liste von Passwörtern, auf eurer Eingabe basierend. Hier eine Beispielausgabe:

8obPactAblo (EIGHT-ob-Pact-A-blo)
tu8VoazCiati (tu-EIGHT-Voaz-Ciat-i)
rojKeOc0 (roj-Ke-Oc-ZERO)
JedHeej9 (Jed-Heej-NINE)
Konquedeps4 (Kon-qued-eps-FOUR)
yov0HoobBoy (yov-ZERO-Hoob-Boy)

Wie ihr oben sehen könnt, gibt apg euch Tipps zum aussprechen (und damit automatisch leichter merken) der Passwörter. Zwar leider auf Englisch, aber das sollte kein Problem darstellen. Für Scripts gibt

apg -n 1

nur ein Passwort (ohne den Tipp) aus, welches sich leicht in weitere Programme umleiten lässt.

Wenn ihr euch also das nächste mal an einer dieser albernen “Web 2.0 Sites” anmeldet, ist es vielleicht Klug ein starkes Passwort zu verwenden. Und wenn euch gerade keines einfällt, so könnt ihr mit den Tools die ich euch gerade vorgestellt habe, euch auf die schnelle eins generieren lassen. :-)


Über diesen Beitrag


  1. Maxx 24.5.2007 / 7:42

    Ein kleiner Nachtrag zu apg: Mithilfe der Befehlszeileoptionen laesst sich der Algorithmus vielfaeltig einstellen, z.B. werden nicht zwangslauefig aussprechbare Passwoerter generiert, man kann die Laenge und die Zeichentypen bestimmen. Siehe Manpage.

  2. Jeremy 26.5.2007 / 2:30

    Eigentlich gehört noch ein Link hier hin dazu.

  3. Maxx 14.6.2007 / 20:44

    Wenn man pwsafe zur Passwortverwaltung benutzt kann man auch sehr zufaellige Passwoerter automatisch generieren lassen.

  4. Kopfgeldjaeger 23.6.2007 / 14:08

    Ich benutze KeePassX zur Passwortverwaltung (verschlüsselte Passwortdatei auch unter Windows und Macs mit KeePass(x) öffenbar. Zum Passwörter-Generieren benutze ich “gpg -a –gen-random 1 30″, die sind normalerweise stark genug :-)

    mfg

  5. fetter_oml 3.8.2007 / 15:32

    makepasswd ist ein nuetzliches Tool, welches im normalfall bei jeder Distro dabei ist und mit dem einfachen Befehl

    makepasswd

    wunderschoene, leicht merkbare passwoerter wie
    fv7oze4
    np56DYF oder
    vV5sQMf

    erstellt

  6. Klaus Eckenfellner 10.10.2007 / 14:22

    netter beitrag. weiter so

Hinterlasse einen Kommentar

XHTML: Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>




Safari hates me