GNU/Linux >> LINUX-Kenntnisse >  >> Linux

8 Möglichkeiten zum Generieren von zufälligen Passwörtern in Linux

Lernen Sie 8 verschiedene Möglichkeiten zum Generieren eines Zufallspassworts in Linux mit nativen Linux-Befehlen oder Dienstprogrammen von Drittanbietern kennen.

In diesem Artikel führen wir Sie durch verschiedene Möglichkeiten, um ein zufälliges Passwort im Linux-Terminal zu generieren. Nur wenige von ihnen verwenden native Linux-Befehle und andere verwenden Tools oder Dienstprogramme von Drittanbietern, die einfach auf dem Linux-Computer installiert werden können. Hier betrachten wir native Befehle wie openssl tt, md5sum , tr , urandom und Tools von Drittanbietern wie mkpasswd, randpw, pwgen, spw, gpg, xkcdpass, diceware, revelation, keepaasx, passwordmaker.

Dies sind eigentlich Möglichkeiten, um eine zufällige alphanumerische Zeichenfolge zu erhalten, die als Passwort verwendet werden kann. Für neue Benutzer können zufällige Passwörter verwendet werden, so dass es unabhängig davon, wie groß Ihre Benutzerbasis ist, eindeutig ist. Lassen Sie uns ohne weitere Verzögerung zu diesen 15 verschiedenen Möglichkeiten zum Generieren des zufälligen Passworts in Linux springen.

Generieren Sie ein Passwort mit dem Dienstprogramm mkpasswd

mkpasswd kommt mit der Installation von expect Paket auf RHEL-basierten Systemen. Auf Debian-basierten Systemen mkpasswd kommt mit Paket whois . Versuch, mkpasswd zu installieren Paket führt zu einem Fehler –

Kein Paket mkpasswd verfügbar. auf RHEL-System und E:Paket mkpasswd kann nicht gefunden werden in Debian-basiert.

Installieren Sie also ihre übergeordneten Pakete wie oben erwähnt und Sie können loslegen.

Führen Sie mkpasswd aus um Passwörter zu erhalten

root@kerneltalks# mkpasswd << on RHEL
zt*hGW65c

root@kerneltalks# mkpasswd teststring << on Ubuntu
XnlrKxYOJ3vik

Command verhält sich auf verschiedenen Systemen unterschiedlich, also arbeiten Sie entsprechend. Es gibt viele Schalter, die verwendet werden können, um Parameter für Länge usw. zu steuern. Sie können sie auf Manpages erkunden.

Passwort mit OpenSSL generieren

OpenSSL ist in fast allen Linux-Distributionen integriert. Wir können seine Zufallsfunktion verwenden, um eine alphanumerische Zeichenfolge zu generieren, die als Passwort verwendet werden kann.

root@kerneltalks # openssl rand -base64 10
nU9LlHO5nsuUvw==

Hier verwenden wir base64 Codierung mit Zufallsfunktion und letzte Ziffer für das Argument zu base64 Codierung.

Passwort mit urandom generieren

Die Gerätedatei /dev/urandom ist eine weitere Quelle, um zufällige Zeichen zu erhalten. Wir verwenden tr Funktion und Trimmen der Ausgabe, um die zufällige Zeichenfolge zu erhalten, die als Passwort verwendet werden soll.

root@kerneltalks # strings /dev/urandom |tr -dc A-Za-z0-9 | head -c20; echo
UiXtr0NAOSIkqtjK4c0X

dd-Befehl zum Generieren des Passworts

Wir können sogar /dev/urandom verwenden device zusammen mit dem dd-Befehl, um eine Zeichenfolge aus zufälligen Zeichen zu erhalten.

root@kerneltalks# dd if=/dev/urandom bs=1 count=15|base64 -w 0
15+0 records in
15+0 records out
15 bytes (15 B) copied, 5.5484e-05 s, 270 kB/s
QMsbe2XbrqAc2NmXp8D0

Wir müssen die Ausgabe durch base64 leiten Codierung, um es für Menschen lesbar zu machen. Sie können mit dem Zählwert spielen, um die gewünschte Länge zu erhalten. Für eine viel sauberere Ausgabe leiten Sie std2 auf /dev/null um . Der Clean-Befehl ist –

root@kerneltalks # dd if=/dev/urandom bs=1 count=15 2>/dev/null|base64 -w 0
F8c3a4joS+a3BdPN9C++

Mit md5sum Passwort generieren

Eine andere Möglichkeit, ein Array zufälliger Zeichen zu erhalten, die als Passwort verwendet werden können, besteht darin, die MD5-Prüfsumme zu berechnen! Da Sie wissen, dass der Prüfsummenwert tatsächlich wie zufällig gruppierte Zeichen aussieht, können wir ihn als Passwort verwenden. Stellen Sie sicher, dass Sie die Quelle als etwas Variable verwenden, damit Sie jedes Mal, wenn Sie den Befehl ausführen, eine andere Prüfsumme erhalten. Zum Beispiel date ! date-Befehl ergibt immer eine Änderung der Ausgabe.

root@kerneltalks # date |md5sum
4d8ce5c42073c7e9ca4aeffd3d157102  -

Hier passierten wir date Befehlsausgabe an md5sum und erhalten Sie den Prüfsummen-Hash! Sie können den cut-Befehl verwenden, um die gewünschte Länge der Ausgabe zu erhalten.

Passwort mit pwgen generieren

pwgen Paket enthält Repositories wie EPEL. pwgen konzentriert sich mehr auf die Generierung von Passwörtern, die aussprechbar sind, aber kein Wörterbuchwort oder nicht in einfachem Englisch sind. Möglicherweise finden Sie es nicht im Standard-Distributions-Repo. Installieren Sie das Paket und führen Sie pwgen aus Befehl. Boom!

root@kerneltalks # pwgen
thu8Iox7 ahDeeQu8 Eexoh0ai oD8oozie ooPaeD9t meeNeiW2 Eip6ieph Ooh1tiet
cootad7O Gohci0vo wah9Thoh Ohh3Ziur Ao1thoma ojoo6aeW Oochai4v ialaiLo5
aic2OaDa iexieQu8 Aesoh4Ie Eixou9ph ShiKoh0i uThohth7 taaN3fuu Iege0aeZ
cah3zaiW Eephei0m AhTh8guo xah1Shoo uh8Iengo aifeev4E zoo4ohHa fieDei6c
aorieP7k ahna9AKe uveeX7Hi Ohji5pho AigheV7u Akee9fae aeWeiW4a tiex8Oht

Die Liste der Passwörter wird Ihnen an Ihrem Terminal angezeigt! Was willst du noch? OK. Sie wollen immer noch erkunden, pwgen kommt mit vielen benutzerdefinierten Optionen, die für Manpages herangezogen werden können.

Generieren Sie das Passwort mit dem gpg-Tool

GPG ist ein OpenPGP-Verschlüsselungs- und Signaturwerkzeug. Meistens ist das gpg-Tool vorinstalliert (zumindest auf meinem RHEL7). Aber wenn nicht, können Sie nach gpg suchen oder gpg2 Paket und installieren Sie es.

Verwenden Sie den folgenden Befehl, um ein Passwort aus dem gpg-Tool zu generieren.

root@kerneltalks # gpg --gen-random --armor 1 12
mL8i+PKZ3IuN6a7a

Hier übergeben wir den Schalter für die zufällige Bytefolge generieren (--gen-random ) der Qualität 1 (erstes Argument) mit einer Anzahl von 12 (zweites Argument). Wechseln Sie --armor stellt sicher, dass die Ausgabe base64 ist verschlüsselt.

Passwort mit xkcdpass generieren

Die berühmte Geek-Humor-Website xkcd veröffentlichte einen sehr interessanten Beitrag über einprägsame, aber immer noch komplexe Passwörter. Sie können es hier einsehen. Also xkcdpass tool hat sich von diesem Beitrag inspirieren lassen und seine Arbeit getan! Es ist ein Python-Paket und hier auf der offiziellen Website von Python verfügbar

Alle Installations- und Gebrauchsanweisungen sind auf dieser Seite aufgeführt. Hier sind Installationsschritte und Ausgaben von meinem Test-RHEL-Server als Referenz.

root@kerneltalks # wget https://pypi.python.org/packages/b4/d7/3253bd2964390e034cf0bba227db96d94de361454530dc056d8c1c096abc/xkcdpass-1.14.3.tar.gz#md5=5f15d52f1d36207b07391f7a25c7965f
--2018-01-23 19:09:17--  https://pypi.python.org/packages/b4/d7/3253bd2964390e034cf0bba227db96d94de361454530dc056d8c1c096abc/xkcdpass-1.14.3.tar.gz
Resolving pypi.python.org (pypi.python.org)... 151.101.32.223, 2a04:4e42:8::223
Connecting to pypi.python.org (pypi.python.org)|151.101.32.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 871848 (851K) [binary/octet-stream]
Saving to: ‘xkcdpass-1.14.3.tar.gz’

100%[==============================================================================================================================>] 871,848     --.-K/s   in 0.01s

2018-01-23 19:09:17 (63.9 MB/s) - ‘xkcdpass-1.14.3.tar.gz’ saved [871848/871848]


root@kerneltalks # tar -xvf xkcdpass-1.14.3.tar.gz
xkcdpass-1.14.3/
xkcdpass-1.14.3/examples/
xkcdpass-1.14.3/examples/example_import.py
xkcdpass-1.14.3/examples/example_json.py
xkcdpass-1.14.3/examples/example_postprocess.py
xkcdpass-1.14.3/LICENSE.BSD
xkcdpass-1.14.3/MANIFEST.in
xkcdpass-1.14.3/PKG-INFO
xkcdpass-1.14.3/README.rst
xkcdpass-1.14.3/setup.cfg
xkcdpass-1.14.3/setup.py
xkcdpass-1.14.3/tests/
xkcdpass-1.14.3/tests/test_list.txt
xkcdpass-1.14.3/tests/test_xkcdpass.py
xkcdpass-1.14.3/tests/__init__.py
xkcdpass-1.14.3/xkcdpass/
xkcdpass-1.14.3/xkcdpass/static/
xkcdpass-1.14.3/xkcdpass/static/eff-long
xkcdpass-1.14.3/xkcdpass/static/eff-short
xkcdpass-1.14.3/xkcdpass/static/eff-special
xkcdpass-1.14.3/xkcdpass/static/fin-kotus
xkcdpass-1.14.3/xkcdpass/static/ita-wiki
xkcdpass-1.14.3/xkcdpass/static/legacy
xkcdpass-1.14.3/xkcdpass/static/spa-mich
xkcdpass-1.14.3/xkcdpass/xkcd_password.py
xkcdpass-1.14.3/xkcdpass/__init__.py
xkcdpass-1.14.3/xkcdpass.1
xkcdpass-1.14.3/xkcdpass.egg-info/
xkcdpass-1.14.3/xkcdpass.egg-info/dependency_links.txt
xkcdpass-1.14.3/xkcdpass.egg-info/entry_points.txt
xkcdpass-1.14.3/xkcdpass.egg-info/not-zip-safe
xkcdpass-1.14.3/xkcdpass.egg-info/PKG-INFO
xkcdpass-1.14.3/xkcdpass.egg-info/SOURCES.txt
xkcdpass-1.14.3/xkcdpass.egg-info/top_level.txt


root@kerneltalks # cd xkcdpass-1.14.3

root@kerneltalks # python setup.py install
running install
running bdist_egg
running egg_info
writing xkcdpass.egg-info/PKG-INFO
writing top-level names to xkcdpass.egg-info/top_level.txt
writing dependency_links to xkcdpass.egg-info/dependency_links.txt
writing entry points to xkcdpass.egg-info/entry_points.txt
reading manifest file 'xkcdpass.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'xkcdpass.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/xkcdpass
copying xkcdpass/xkcd_password.py -> build/lib/xkcdpass
copying xkcdpass/__init__.py -> build/lib/xkcdpass
creating build/lib/xkcdpass/static
copying xkcdpass/static/eff-long -> build/lib/xkcdpass/static
copying xkcdpass/static/eff-short -> build/lib/xkcdpass/static
copying xkcdpass/static/eff-special -> build/lib/xkcdpass/static
copying xkcdpass/static/fin-kotus -> build/lib/xkcdpass/static
copying xkcdpass/static/ita-wiki -> build/lib/xkcdpass/static
copying xkcdpass/static/legacy -> build/lib/xkcdpass/static
copying xkcdpass/static/spa-mich -> build/lib/xkcdpass/static
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/xkcdpass
copying build/lib/xkcdpass/xkcd_password.py -> build/bdist.linux-x86_64/egg/xkcdpass
copying build/lib/xkcdpass/__init__.py -> build/bdist.linux-x86_64/egg/xkcdpass
creating build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/eff-long -> build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/eff-short -> build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/eff-special -> build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/fin-kotus -> build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/ita-wiki -> build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/legacy -> build/bdist.linux-x86_64/egg/xkcdpass/static
copying build/lib/xkcdpass/static/spa-mich -> build/bdist.linux-x86_64/egg/xkcdpass/static
byte-compiling build/bdist.linux-x86_64/egg/xkcdpass/xkcd_password.py to xkcd_password.pyc
byte-compiling build/bdist.linux-x86_64/egg/xkcdpass/__init__.py to __init__.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying xkcdpass.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying xkcdpass.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying xkcdpass.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying xkcdpass.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying xkcdpass.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying xkcdpass.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating dist
creating 'dist/xkcdpass-1.14.3-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing xkcdpass-1.14.3-py2.7.egg
creating /usr/lib/python2.7/site-packages/xkcdpass-1.14.3-py2.7.egg
Extracting xkcdpass-1.14.3-py2.7.egg to /usr/lib/python2.7/site-packages
Adding xkcdpass 1.14.3 to easy-install.pth file
Installing xkcdpass script to /usr/bin

Installed /usr/lib/python2.7/site-packages/xkcdpass-1.14.3-py2.7.egg
Processing dependencies for xkcdpass==1.14.3
Finished processing dependencies for xkcdpass==1.14.3

Jetzt läuft xkcdpass Der Befehl gibt Ihnen einen zufälligen Satz von Wörterbuchwörtern wie unten –

root@kerneltalks # xkcdpass
broadside unpadded osmosis statistic cosmetics lugged

Sie können diese Wörter als Eingabe für andere Befehle wie md5sum verwenden um das zufällige Passwort zu erhalten (wie unten) oder Sie können sogar den N-ten Buchstaben jedes Wortes verwenden, um Ihr Passwort zu bilden!

root@kerneltalks # xkcdpass |md5sum
45f2ec9b3ca980c7afbd100268c74819  -

root@kerneltalks # xkcdpass |md5sum
ad79546e8350744845c001d8836f2ff2  -

Oder Sie können sogar all diese Wörter zusammen als ein so langes Passwort verwenden, das für einen Benutzer leicht zu merken und mit dem Computerprogramm sehr schwer zu knacken ist.

Es gibt Tools wie Diceware, KeePassX, Revelation, PasswordMaker für Linux, die für die Erstellung starker zufälliger Passwörter in Betracht gezogen werden können.


Linux
  1. 10 Möglichkeiten zur Analyse von Binärdateien unter Linux

  2. 4 Möglichkeiten zum Generieren eines starken Pre-Shared Key (PSK) unter Linux

  3. So generieren/verschlüsseln/entschlüsseln Sie zufällige Passwörter in Linux

  4. So generieren Sie ein zufälliges Passwort unter Linux mit /dev/random

  5. 3 Möglichkeiten zum Auflisten von Benutzern in Linux

Generieren von Zufallszahlen aus dem Linux-Terminal

3 Möglichkeiten, eine Netzwerkschnittstelle in Linux zu konfigurieren

8 Möglichkeiten zum Generieren eines zufälligen Passworts in der Linux-Shell

4 Möglichkeiten zum Erstellen einer neuen Datei unter Linux

Einfache Möglichkeiten zum Generieren eines zufälligen Passworts in der Linux-Shell

6 Möglichkeiten, ein sicheres Passwort für Debian zu generieren