PwGen является одним из старейших генераторов паролей в Linux. Сгенерированные им пароли могут включать строчные и заглавные буквы, цифры и спецсимволы.

Содержание
Введение
Генераторы случайных чисел использовали ещё во время Второй мировой войны для того, чтобы оторваться от германских подводных лодок. Механические генераторы тогда выдавали на мостик корабля случайный курс, которому и следовали.
Использование в работе подобного генератора связано с тем, что человеческий мозг склонен к логике и, как правило, не способен создать набор случайных символов.
Установка
Установка в Arch Linux
oleg@mobile:~:$ yay -S pwgen
Sync Explicit (1): pwgen-2.08-2
разрешение зависимостей...
проверка конфликтов...
Пакеты (1) pwgen-2.08-2
Будет загружено: 0,02 MiB
Будет установлено: 0,03 MiB
:: Приступить к установке? [Y/n] y
:: Получение пакетов...
pwgen-2.08-2-x86_64 16,5 KiB 6,76 KiB/s 00:02 [###############################################] 100%
(1/1) проверка ключей [###############################################] 100%
(1/1) проверка целостности пакета [###############################################] 100%
(1/1) загрузка файлов пакетов [###############################################] 100%
(1/1) проверка конфликтов файлов [###############################################] 100%
(1/1) проверка доступного места [###############################################] 100%
:: Обработка изменений пакета...
(1/1) установка pwgen [###############################################] 100%
:: Запуск post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
oleg@mobile:~:$
Установка в Ubuntu
oleg@mobile:~:$ sudo apt install pwgen
...
oleg@mobile:~:$
Синтаксис
$ pwgen [ параметры ] [ pw_length ] [ num_pw ]
Параметры
-c, --capitalize
Включить в пароль хотя бы одну заглавную букву
-A, --no-capitalize
Не включать заглавные буквы в пароль
-n, --numerals
Включить в пароль хотя бы одну цифру
-0, --no-numerals
Не включать цифры в пароль
-y, --symbols
Включить в пароль хотя бы один специальный символ
-r
, --remove-chars= Удалить специальные символы из набора символов для генерации паролей
-s, --secure
Генерировать совершенно случайные пароли
-B, --ambiguous
Не включать в пароль неоднозначные символы
-h, --help
Вывести сообщение справки
-H, --sha1=path/to/file[#seed]
Использовать хэш sha1 указанного файла как случайный генератор
-C
Вывести сгенерированные пароли в столбцах
-1
Не выводить сгенерированные пароли в столбцах
-v, --no-vowels
Не использовать гласные во избежание случайного вывода ругательств
Использование PwGen в Linux
Запуск без параметров
При запуске генератора без параметров получим следующее:
oleg@mobile:~:$ pwgen
Olasei4G ohj2xeiS ahpeex9J oang1aDi ieXo5aig pohp4eeP Ahv4Eer3 Luthei2a
chee8eSh Ukagh4du fooNg6ch Doo6aquo ail4uaMe uathee6P ohgh1ieG aem4eiW8
pea9ieJ4 Bi1Ashee UthaiG9E Aaz8queu Quahs1ge Pha5aez9 ay4AeKu2 uuchaiB4
je3ing6U rie1Ohf7 pheiy7Ah Gu9jeina dae3Vaih baiYoob5 ceeJ9Coh OoThei5A
Too5uila AizuoN2k Ahr8ai8m Au9phaol ahsh6Moo Esh1yaek OopheP0o yaith3Oh
pha8Ahji ahp8Gai1 hu0eeFee iMo5joh8 Eafee7oo Gieng0ei apohSh4e eiShu3gi
yee8Bise aC2ahghu oYaixai5 Ni4Nei1a eeh3aiWi Aipu2aen ahS3Phup Zahphov7
mee6ceY9 nahnoh9Y Quaem5ph Ooc7AeGo eu5Eequ8 joo5Ub7Z EeThu0ba oCaih9ch
Ing3oamu adag9Ooz holof8Ie Ooxeid2u Pohngie0 Eaz8IeJu aeRojie8 aiC5ieph
Veof5aeJ ISoh3aix tohx8Och culeeLi7 xohQu5nu ga2Finoo okae0eeM ahtie7Ai
Ku9daise Oang2oor waR1aeSh ooKog1ya Rae8gu8v mahm9Ein ak2fohZo Kai3we6P
iko4sheH jie0Shat iju3Oale ohB9zizo zaeL3wei mahGh8ae Eaj4pahX othooSh8
tuewa9Ha OoMemaY7 Heeveik2 oigoo3Di yiT2ahch Av7dokio reL4kiej Chahh5ae
yibiC7ae ooSas4ha EaghuoY2 aegh8aG1 Shoi1ohs yie6Moh4 Coofohv4 thiW5thi
Ooyu0Gee Pexieca3 Ouqu2mu8 aequ1uP0 ai2uJooh phieSh5M Lei2deeY iG0quei9
iw0yaKah Fae5te7M xaiPo8oh aCh1deik Lahf6ouj ozaeFei0 yei3miaN koo7Kiej
aiNg9air agh5Ahz4 oog3aiPa Ahfi1eiz aeX5zah7 Ain6chie ohhaiSh3 Lohvu5ae
liicag3A quiH8She nu3Hea2o ahS8emi5 rohJoo7o leiTu0iN aeh6Iox7 aeku2JeD
huciu0Ie aidae7Ea IeV0shie uz3Cedoo Oonaede1 ub0ohSai io3Ua4ve uiYeech7
honguT1i Eey3Ahn7 NeeBaiK3 uRei5dee aePh5ahx Ja8ahmae EC7aiwua IeCeey0l
oleg@mobile:~:$
Результатом явилось создание 8 столбцов восьмисимвольных паролей, содержащих строчные и заглавные буквы, а также цифры.
Число символов
Пароли по умолчанию имеют 8 символов. Для увеличения их количества достаточно указать их число:
oleg@mobile:~:$ pwgen 12
weigePoh2kie foh8Guc6Ma7S IthoD2jevogh oe9ow6Ook4ee aineiroo0Wie Dahhie1taeS2
beixeiF0tah3 foh0Looj7EBo Rooxoo8Eezie AMameesheSi3 joZ7Oomaoboo taibeiSi6shi
ri1aiHighieM See6Beigae7g ongueVahg3ve Chah8iejei9U ree9neNai0om reeh8Eoreigh
ahthoufaep5I maiph6ZaiTub Veeponeiz8ti oox3AhghieGh eisaeChooVi7 aoGae7bieth3
kieJai1te6ch Xeadah8up4ai thei8iey0Mee bohv4Oothath Be2iBiep0yei ooSohK0ohg7u
aeVahngoh8li thoh9daiP3oz biv5PhahPhe0 quauK1veeb0L yel4oadieRee dahh3aeN6Ey3
ek7aeXeesahf Ubexei3Exohv phi9aiFaip4g Ga5soozuMooS EecauXa3saew ooH9ohX1EiV3
Eiwee1jeixoh tei6simeeQue Nooliyo3lier eechuegool2J FaewaMoo6ahd Tahni7xei5ao
xei5uiDei9pe eNgiey7shahy eiyuiBaih6Xi eiMaN7ox8sec ahk0See6quai pah5UD1phote
chaedu5Ohyai ahpheij8ohK3 thuo6zooHae6 ieChaefoo8oo aidego3Aiph9 Queiqui2xaeg
pho7zu5aiNoo aeD7ahGhui9U IR5aPoo9phi6 Va9bah7soik6 uo7quohC7Oa5 OuthahL3nee2
ooghahs6aiPh Ai7zaesheebe eM3Eithohvej Vahgh7Ach8ai lu9Kae1yai0a hichoe9shaPh
eeGeexex2eoR woh0ohY4chae kee7theghooX eBeo5Quoquoo EeXe6ewamegi aeveesh7Eech
sheeQueth2co Shi0foh9nohr Aesh0Eulai9m ohShoh1eyaeM Aighuanee4ee aeSei5iti2zo
Goo1qual7El0 fooChug9Zam2 giemaiVaij1D quoo2epe3Saz fa1Aijahc6ou ieNgaa8Eizai
aoy5eeyaeG1P yoh9Tueyu5la eefaivauk4Di ahchaiL3mugo IR0caexovuu5 oTomoocu9ohd
eepholei0IeM OYaisoo1mile oVi5ooXeenge ieceigh3ISea noer4EcohRiy Ey7shie8Ahma
ge2Pao4caiwe ob8Aigoishi9 woh0aeTah3ie oKeng5ti2aek hiush3ShiuGh Phei3ahneida
quoZaeChae5S tootheiN0eew xiawooYie7fo aath1ni0au4E iecee0ohmieW na4aiV7io9ei
ohchooqu0daC ahngaeJuul2y raelee8eeXee eeyea3Ao7ohr Echoo3veidae Eeg7siu3ief0
oleg@mobile:~:$
В данном случае были сгенерированы двенадцатисимвольные пароли.
Надёжность пароля
Для генерации надёжных паролей рекомендуется включают в них специальные символы. Для этого в команду включается параметр -y
:
oleg@mobile:~:$ pwgen -y 12
Hi&ixae-ju7O ohd7aethoo=J eruBee4aht?u is=aipooT3oh ahY}ee8iefei zou1Eish$afe
eey0woh4Xei+ ui9eev8Ohm*u phahp!ei7Eil elo0aeWoope' aeVoay=ei8vo Zie3DoXaf-ah
aigh$ae!Voh2 aoTia5oogh>a sahshae,v7Ui Oa5imu#o3di4 kah[M0ohd&ai woM.oWaib8ae
aSo!L1la5The wahmee5veoC{ Wi,ch1sheich aifoo1ONg&ia vu[b6wo3eaW/ keRaechi2Ge?
soh4Eik)e3ee Tek!aex8LooF eeH[oone4nee xoh8eShe'Fiu ieph1ID^eeji oix2uk^ooR2n
vool*i)L6yeu fie0Yo"phei] uhoD|ah5eitu ea5Eer1au+xa Ieghi/poh1eu feYooru-b8Ph
Joh3hevi$r6y bucia@jeo3Ai rae&Shaekie5 shubicieJ,a9 shoob.a7zohD ceih%ooF9ato
AhM4Ve0saes+ eey8xoo`Bahz Thae}j+iep7J ga6IeSi!toh; Eato5loo{tie yoo7ew\e4ooF
ra1ic4ooT}ei Zo\v5shooche taeL#o9riey< Phoh|Quah8ca Aw6chood$a}z IeghaiN[o`a1
uuQu5Eeg\ou4 uY/oo;f#ei2p Ioch.u$i5goh saeC9jaeng$i Upieth;u4aeg iivu>C8Ma2ee
ohpah5Ta(thi ae0Wi4Eenai[ JeL`u3Nie0iT Aivaij*i~F5a on!ie5eFahTh dooT)oo4uaw-
ooto7nah>Ph$ soa5uo}T8qua AeX%ash6Eih# tuvau,So8ti1 Xee9aiyaiv+a Rieh^it9ose5
}&FmO];Z.5:X .7.{D^[\%dGF T;xp{GIktn}4 eSx0=_tS@+1w &h|ek|T6<'bo HygR_i9L22bh
&PY7WONt,~$' 6UhJ4cozwS6( ^zTD$w{KEL]5 fybThZ1=z"pv 956=_|:dmOD` [Jrx{Sf_O:4f
zE]02+fN=-sD 7~Vjv}xNW?DP RbnFm*}6'=qS v"pieS3}6o5' qXg#v/1I--o> L5},9^.8ey2L
4?[./o|'T9N> .ZktERPnt=S8 i.oEe6I#;'dp d4":NRdq^cDV Fw"zo4G?li8y LVOM5N~Y.z1o
C7lRS&QZRb|3 sXc6a[2}8OXQ GaVc/"08Y06S |d5~g[+86lX` KL~fr@FRJ>95 2cn0P/x+d+o6
g9D8#_#B+1Zb pnz/*iBf$/D4 |;hiD/t-Sr2^ SFmnXr}9VW/M LQqC['08l!Nb YB@4gPeIPl6a
kcH`5)H[0b1+ g["96;Ngz}}b 'f|new^$4]Z( `&lS+Sm2eDE, mn/R^f9-mBD~ \Q''HZ%@fx92
&NI+YtvoH6|_ 8!{Wy~J2yksN GL;pL>1%oMZd 4D"|q3#0=a(9 Ms$p$lu&!z91 h3ON1/%fHk}:
l9F+Pu6,x-:k :Hq!nEhBn~4o rH^v7aDWt~nK "=!,87@hA4Gw "Qjf80Y{]kkn K7`D|_b-Mkwm
oleg@mobile:~:$
Настоятельно рекомендуется всегда использовать флаг -s
, позволяющий генерировать совершенно случайные пароли:
oleg@mobile:~:$ pwgen -s 12
8u2ffCPS40Zf ZPNariW37FWc PUZddeoGzzf4 wEmDC5VPTfCh 8YYZ1mhyxXE7 IK74E4xMHgLv
9AyxPxaCgZEA qcb4SgiKyS6p U1yP1XP8jIJA 255jY5fElgde UvxLqBpi887d kby8FgaCYL1s
5sUGhdKEjr6Q jk26tvVgekqA J0HhXRSxk9OK sieAjBDT6scS sdwD9tkw3fL9 1mLlYF6PArnc
8ecpDmaERowz cEGxwvON67Se 3rBS9iFcMvFA oNdqLcgOF1HP 8cjkKdXXH1NR vv3ZCDrmVvCY
RVkW8ZR42ZTO gYp3gz2qXtxY pTF4wfnrwpyd HqjLTC6FzEUw XI7sQrqHqHYC zuMOO8JAz5Zd
109nVl8KwpB3 6drpLCRyZaem gD9eSkkOujrC mWFYB4ExpU1H LEC5LGLCpPAm HU6mLqPn1qwi
wm2HR5UKpCkC aPRVu8XH7JAA j5sgYgAm4yTq DzuMEMVQLL0b fwNnGHLL13EP 6UVOjyn5Z42p
fS8RhGkKltw0 h4on4tJfNXWG g5LwrX0WSi0V e1miPASwWmxx JX5lshRUFF2s OWs81nbfbuJt
LgFjk2Mc122P 8DwWofFs82gx p8KwsoVeVMIU wtuDfPi7sSLr KKZI6ek7mjm9 CYskaR0yfeY8
NnvuRudwM27P 4h09smSXwNX1 cLqwZEupw571 HE4KtQTxDjBQ 7MV5cMmskOV4 qjXDwb0rd6Dc
g4QxS7h6Vc7N ePJIGN1oLJ6r OBxN8XhxwwxN 6xoUSouYHjK5 UfKFo5cOjHd2 QE3q3OG1hfNE
9GvdEr6a8A0V F82wyNTAtZGI PouK6foFer9p 7cMWP4s0lzom J5Ik7mLJXk1W OgrhTLACBK1w
7XVmVKLbOWsC 8MCzYPc6xdqj mCG2DLxLWZAm i2QIPNyqkzC9 VlaMiP8afxdK pjqnJLign0TF
lxCtILV7ycvN Q0cdE7luvlI7 lrt7rQqY9RlG M7jPutoPg69e OE3ny4x0poZC SU56x0YgVmCd
1wQcXHvS1B5a dHnM4xLjwFTT 1EcLDRhej9sV It76Ul1T9uCG Gdszb8IBbfp9 Vk2VPURIAEVo
Ck6q6EmMShkm DOMoE9OhqIAo YsbhTC050nJK oOS0QOkquhK3 jLbaV37GIowL JfHM3XuVVh1e
yVddBBIwyE8b 2VRcdutAKcLh 5tLxYffjsKE7 IvRhRjvrrTO0 Uo1UwkK4B5mC 8ELSUApBAq1T
9hg4FN7eQngD u3WnNKBiGL2k Oa0RQUWZzk9l 5hEU4QzChH5G DbCEi47vSu8M lJ889o8iYhN2
l4sEplMKM5D2 VL3g5Gh4x4gl qt0IYoZQiSFV eG0UaaamcEX2 u2kpDyWpQwUj 2ABgZ19jaXXo
tTmw1Z3eLk05 qNUzlb6I7Jlt vZDGchJG5u5a AqcxhuI1XjMw 702cWPzahLST 1IffhezRhbnj
oleg@mobile:~:$
Можно при генерации паролей исключать из них строчные или заглавные буквы, но это вряд ли целесообразно.
Заключание
Pwgen является простой, мощной и давно используемой командой Linux, известной генерацией случайных и безопасных паролей. Эта утилита предоставляет множество парамеров, позволяющих пользователям создавать исключительно надёжные пароли.