GNU/Linux >> Znalost Linux >  >> Linux

Jedna podložka pro vytváření hesel v linuxu?

Záleží na tom, co myslíš tím "čitelný". Pokud chcete používat pouze hexadecimální znaky, budete jich potřebovat 32 k dosažení 128 bitové entropie; tento řádek bude fungovat (pomocí pouze příkazů z coreutils balíček):

head -c16 /dev/urandom | md5sum

Tato varianta vytváří hesla pouze s malými písmeny, od „a“ do „p“ (to je to, co budete chtít, pokud musíte heslo „zadat“ na chytrém telefonu):

head -c16 /dev/urandom | md5sum | tr 0-9 g-p

Pokud chcete napsat o jeden znak méně, zkuste toto:

head -16 /dev/urandom | md5sum

(Pravděpodobnost získání všech prvních 16 náhodných bajtů jako 0x0A, tj. znak nového řádku, je 2, takže tento řádek stále získává 128 bitů entropie.)

Stále se omezujete na příkazy z coreutils , můžete to udělat takto:

mktemp -u XXXXXXXXXXXXXXXXXXXXXX

Toto vygeneruje heslo o 22 znacích pomocí /dev/urandom jako interní zdroj náhodnosti (zkontroloval jsem zdrojový kód a strace hovor potvrdí). Znaky jsou písmena (velká a malá) a číslice; protože 62 je větší než 2, stačí 22 znaků.

Ještě jeden:

od -An -x /dev/urandom | head -1

toto zobrazí osm sekvencí čtyř hexadecimálních číslic. Pravděpodobně toto rozdělení do malých sekvencí může pomoci čtení.

Pro mnohem delší řádek a zcela odlišný typ hesla zkuste toto:

for i in {1..8} ; do head -$(expr $(head -c7 /dev/urandom | od -An -t dL) % $(wc -l < /usr/share/dict/british-english)) /usr/share/dict/british-english | tail -1 ; done

(tento funguje pouze na 64bitovém hostiteli; všimli jste si proč?). Kromě coreutils , tato verze také vyžaduje soubor slovníku, zde ten pro britskou angličtinu.


Některé skvělé návrhy v ostatních odpovědích. Zjistil jsem, že makepasswd není k dispozici všude a použití tr je (trochu) složité, takže existuje další možnost pomocí OpenSSL:

openssl rand -base64 16

Číslo je počet bajtů náhodnosti – tedy 16 bajtů pro 128bitovou entropii.


Použití pwgen

Nejjednodušší linka všech dob:

pwgen

Snaží se vytvářet hesla, která jsou snadno zapamatovatelná. Chcete-li to zakázat a vytvořit bezpečnější hesla, použijte --secure nebo -s vlajka.

pwgen -s

Jsou vygenerovaná hesla příliš dlouhá? Moc krátký? Stačí připojit požadovanou délku:

pwgen 9
# Or
pwgen -s 9
# Or
pwgen 9 -s

Podobné nástroje

Jen náhodou znám pwgen, existují i ​​jiné nástroje. Můžete je najít pomocí funkce vyhledávání z vaší distribuce. V Debianu je to:

apt-cache search password generator

Provádí přesné vyhledávání (i když bez ohledu na velikost písmen). Pomocí password generat místo toho rozšiřuje vyhledávání.

Před instalací balíčku může být užitečné zobrazit jeho popis. Opět v Debianu:

apt-cache show $DESIRED_PACKAGE
# E.g.
apt-cache show pwgen

Nástroje, které jsem mohl najít tímto způsobem:

  • pwgen
  • makepasswd
  • apg
  • otp (určeno pro jednorázové vložky, nedoporučuje se)
  • gpw (silně se zaměřuje na vyslovitelnost, nedoporučuje se)

Použití standardních unixových nástrojů

Ne všechny systémy mohou mít k dispozici pwgen. Stejně jako ostatní odpověděli, můžete použít md5sum nebo sha256sum , ale na výstupu jsou pouze 0-9 a a-f. Žádné g-z nebo smíšená velká a malá písmena, natož speciální znaky. Je lepší jednoduše odfiltrovat netisknutelné znaky z /dev/urandom dokud nebudete mít heslo požadované délky:

cat /dev/urandom | tr -cd '@-~' | head -c 8

Což dává něco jako XiVsdn[y nebo [email protected]^lY . Můžete změnit 8 na konci pro požadovanou délku hesla. Můžete také změnit @-~ část k omezení postav. Například se vytisknou pouze alfanumerické znaky:

cat /dev/urandom | tr -cd 'a-zA-Z0-9' | head -c 8

To je téměř totožné s tím, co pwgen -s by udělal a dává hesla jako nZiUzNtE .

Jako bonus tr nástroj je součástí téměř každého operačního systému (Mac OS X, GNU/Linux, Android/Linux, Solaris, FreeBSD atd.) kromě Microsoft Windows.


Linux
  1. Generujte hesla na příkazovém řádku Linuxu

  2. Jak vytvořit balíček RPM pro Linux

  3. Jeden příkaz pro vytvoření adresáře a souboru v něm linuxový příkaz

  1. Jak vytvořit skript příkazu Linux

  2. Jak vytvořit swap v Linuxu

  3. Jak vytvořit službu Systemd v Linuxu

  1. Jak vytvořit odkládací soubor v Linuxu

  2. Zkombinované heslo – Vytvářejte jedinečná ID a hesla v systému Linux

  3. Příkaz Linux ln