/ / 10 способів створення випадкового пароля з командного рядка Linux

10 способів створення випадкового пароля з командного рядка Linux

Одна з чудових речей про Linux - це те, що тиможна зробити те ж саме, сотні різних способів - навіть щось таке просте, як генерування випадкового пароля, можна виконати за допомогою десятків різних команд. Ось 10 способів зробити це.

Ми зібрали всі ці команди зКомандний рядок Fu та протестував їх на власному ПК з Linux, щоб переконатися, що вони працюють. Ви повинні мати можливість використовувати принаймні деякі з них у Windows із встановленим Cygwin, хоча ми не перевіряли їх усіх - проте останній, безумовно, працює.

Створити випадковий пароль

Для будь-якої з цих випадкових команд паролем виможна або змінити їх для виведення різної довжини пароля, або ви можете просто використовувати перші x символів згенерованого пароля, якщо вам не потрібен такий довгий пароль. Сподіваємось, ви все одно використовуєте диспетчер паролів, як LastPass, тому не потрібно запам’ятовувати їх.

Цей метод використовує SHA для хешування дати, проходить через base64, а потім виводить 32 найбільші символи.

date +%s | sha256sum | base64 | head -c 32 ; echo

Цей метод використовував вбудовану / dev / urandom функцію та фільтрує лише символи, які ви зазвичай використовуєте у паролі. Потім він виводить верхні 32.

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

У цьому використовується функція rands opensl, яка може бути встановлена ​​у вашій системі. Добре, що є багато інших прикладів, правда?

openssl rand -base64 32

Цей працює дуже багато, як і інший урандум, але просто робить роботу в зворотному порядку. Баш дуже потужний!

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

Ось ще один приклад, який фільтрує за допомогою команди strings, яка виводить рядки для друку з файлу, що в цьому випадку є функцією urandom.

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo

Ось ще простіша версія урадонної.

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

Це вдається використовувати дуже корисну команду dd.

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

Ви навіть можете створити випадковий лівий пароль, який дозволив би ввести пароль однією рукою.

</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""

Якщо ви будете використовувати це постійно, можливо, краща ідея ввести його у функцію. У цьому випадку, як тільки ви запустите команду один раз, ви зможете використовувати randpw у будь-який час ви хочете генерувати випадковий пароль. Ви, ймовірно, захочете помістити це у свій файл ~ / .bashrc.

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

Ви можете використовувати цей самий синтаксис, щоб перетворити будь-яке з них на функцію - просто замініть все, що знаходиться {{}

І ось найпростіший спосіб зробити парольз командного рядка, який працює в Linux, Windows з Cygwin і, ймовірно, Mac OS X. Я впевнений, що деякі люди будуть скаржитися, що це не так випадково, як деякі інші параметри, але, чесно кажучи, це досить випадково, якщо ви ' Ви будете використовувати всю справу.

date | md5sum

Так, це навіть досить легко запам'ятати.


Існує безліч інших способів, які можна створитивипадковий пароль з командного рядка в Linux - наприклад, команда mkpasswd, яка може фактично призначити пароль обліковому запису користувача Linux. То який ваш улюблений спосіб?