Zastanawiam się, jak mogę stworzyć silne hasła w systemie Linux (zarówno dla zwykłych użytkowników, jak i dla administratorów) i czy są do tego specjalne programy.
Osobiście wolę nie używać generatora haseł, ponieważ generowanie haseł jest bardzo trudne do zapamiętania, ale jednym przenośnym rozwiązaniem jest użycie / dev / urandom
Tworzenie losowych haseł, które nie zawierają znaków specjalnych, ma 10 znaków:
$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 10`
dyxJRKldvp
Działa to poprzez pobieranie bajtów z / dev / urandom, usuwanie tych, które nie pasują do wzorca określonego w tr
poleceniu i ograniczanie go do 10 znaków za pomocą head
.
Tworzenie losowych haseł zawierających znaki specjalne ma długość 10 znaków:
$ cat /dev/urandom | tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | fold -w 10 | grep -i '[!@#$%^&*()_+{}|:<>?=]' | head -n 1
MSF4wj@vP0
Używa nieco innej techniki po tr
usunięciu niechcianych bajtów, ponieważ chodzi o to, aby zmusić ją do posiadania co najmniej jednego znaku specjalnego. Działa to za pomocą fold
polecenia, aby owinąć linię w grupy po 10, a następnie użyć, grep
aby pobrać tylko linie zawierające znak specjalny. head
następnie pobiera pierwsze hasło, które spełnia wymagania.
[:print:]
fortr
(tr -dc '[:print:]'
), jeśli jesteś trochę paranoikiem. Problemem będą symbole dostępne na klawiaturze ...Napisałem ten mały skrypt kilka lat temu i od tego czasu go używam. Jeśli już, to ciekawe nadużywanie
printf
i wykorzystuje piękny funkcji bash, że niestety rzadko widzieć w skryptachtypeset
.źródło
Dodałbym również KeePassX, który daje opcję użycia entropii systemu do generowania silnych haseł z kilkoma fajnymi funkcjami - wszystko przy użyciu GUI. Daje także opcję zarządzania hasłami i zapisywania ich w zaszyfrowanym pliku.
Tak wygląda interfejs generatora haseł KPX:
źródło
apg
nie jest złym wyborem, jeśli chcesz hasło, które można łatwo zapamiętać.Pamiętaj, że zgodnie z tym hasło powinno mieć co najmniej 12 znaków.
źródło
Używam nieprzypadkowego, ale jest wystarczająco zróżnicowany do wszystkich celów ataku ... hasło główne i ostatnie przejście, aby wygenerować inne hasła. Oto jak wygeneruję hasło główne.
i wynik
teraz wystarczy wybrać kilka sekcji i utworzyć hasło, zmienić ich kolejność, pominąć niektóre, dodać znak lub 2, aby było tak dobre, jak losowe. Tak długo, jak pamiętasz ziarno, możesz je zregenerować i odzyskać hasło (o ile nie wprowadzasz zbyt wielu modyfikacji)
źródło
pwgen
jest cudownym, małym narzędziem cli, które pozwala określić liczbę parametrów do ustawienia złożoności, klas znaków, liczbę haseł do wygenerowania, długość itp.źródło
Oto jednorazowy skrypt do generowania haseł typu XKCD .
/usr/share/dict/words
nie jest świetnym słownikiem do tego, ponieważ większość słów jest długa, ale jest łatwo dostępna. Dla lepszych haseł możesz użyć słownika krótkich słów, takiego jak lista słów S / Key One-Time Password .źródło
Jeśli jesteś użytkownikiem GNOME i musisz przechowywać hasła do różnych kont, możesz wypróbować menedżera haseł Revelation . Ma podstawową funkcję generatora haseł, polegającą na tym, że ustawiasz tylko długość hasła i wybierasz, czy oprócz liter i cyfr mają być uwzględniane znaki interpunkcyjne.
źródło
Popraw mnie, jeśli się mylę, ale: O ile rozumiem, nie ma mowy, aby komputer mógł wymyślić zupełnie losowy ciąg. Więc wpadłem na następujący pomysł [i mam nadzieję, że to nie jest całkowicie głupie]:
Jeśli ktoś rzuci kostką 26-stronną, szansa na rzucenie, powiedzmy 26 to 1:26. Innymi słowy: Szansa na rzucenie 26 wynosi około 0,04%. Co więcej, kostka nie ma pamięci i błędów. Wpadłem na następujący pomysł:
Modele papieru do wydrukowania:
Uwaga : nie jestem matematykiem i wpadłem na ten pomysł po przeczytaniu artykułu w magazynie 2600, który to opisał. Właśnie dodałem kilka własnych pomysłów dotyczących podstawowej koncepcji.
Ponadto : Zastanawiam się, czy nie jest to idealny przykład na „ napisanie swojego pierwszego narzędzia do łamania haseł ”. Ale twoje pytanie dało mi idealny powód do przedstawienia tego pomysłu na dyskusję.
źródło
Mam dwa aliasy dodane do mojego pliku .zshrc.local, aby utworzyć silne hasła.
Pierwszy to:
Wynikiem pisania pw.graph jest pięć wierszy każdego znaku, który można wpisać na klawiaturze, z wyjątkiem spacji:
Drugi to:
Wynikiem wpisywania pw.alnum jest każda drukowana litera i cyfra, zarówno wielkie, jak i małe:
Zwykle używam pw.graph i kopiuję losową część linii. Niektóre hasła nie zezwalają na symbole, dlatego używam do tego części pw.alnum.
źródło
Używam tego zapisanego jako plik .html:
źródło