GNU/Linux >> Belajar Linux >  >> Linux

8 cara untuk menghasilkan kata sandi acak di Linux

Pelajari 8 cara berbeda untuk menghasilkan kata sandi acak di Linux menggunakan perintah asli Linux atau utilitas pihak ketiga.

Pada artikel ini, kami akan memandu Anda melalui berbagai cara berbeda untuk menghasilkan kata sandi acak di terminal Linux. Beberapa dari mereka menggunakan perintah Linux asli dan yang lain menggunakan alat atau utilitas pihak ketiga yang dapat dengan mudah diinstal pada mesin Linux. Di sini kita melihat perintah asli seperti,openssl dd, md5sum , tr , urandom dan alat pihak ketiga seperti mkpasswd, randpw, pwgen, spw, gpg, xkcdpass, diceware, wahyu, keepaasx, pembuat kata sandi.

Ini sebenarnya adalah cara untuk mendapatkan beberapa string alfanumerik acak yang dapat digunakan sebagai kata sandi. Kata sandi acak dapat digunakan untuk pengguna baru sehingga akan ada keunikan tidak peduli seberapa besar basis pengguna Anda. Tanpa penundaan lebih lanjut, mari lompat ke 15 cara berbeda untuk menghasilkan kata sandi acak di Linux.

Buat kata sandi menggunakan utilitas mkpasswd

mkpasswd dilengkapi dengan pemasangan expect paket pada sistem berbasis RHEL. Pada sistem berbasis Debian mkpasswd dilengkapi dengan paket whois . Mencoba memasang mkpasswd paket akan menghasilkan kesalahan –

Tidak ada paket mkpasswd yang tersedia. pada sistem RHEL dan E:Tidak dapat menemukan paket mkpasswd berbasis Debian.

Jadi instal paket induknya seperti yang disebutkan di atas dan Anda siap melakukannya.

Jalankan mkpasswd untuk mendapatkan kata sandi

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

root@kerneltalks# mkpasswd teststring << on Ubuntu
XnlrKxYOJ3vik

Perintah berperilaku berbeda pada sistem yang berbeda sehingga bekerja sesuai. Ada banyak sakelar yang dapat digunakan untuk mengontrol parameter panjang dll. Anda dapat menjelajahinya dari halaman manual.

Buat kata sandi menggunakan OpenSSL

OpenSSL hadir dengan hampir semua distribusi Linux. Kita dapat menggunakan fungsi acaknya untuk menghasilkan string alfanumerik yang dapat digunakan sebagai kata sandi.

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

Di sini, kami menggunakan base64 encoding dengan fungsi acak dan digit terakhir untuk argumen ke base64 pengkodean.

Buat kata sandi menggunakan urandom

File perangkat /dev/urandom adalah sumber lain untuk mendapatkan karakter acak. Kami menggunakan tr fungsi dan pemangkasan output untuk mendapatkan string acak untuk digunakan sebagai kata sandi.

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

perintah dd untuk membuat kata sandi

Kami bahkan dapat menggunakan /dev/urandom perangkat bersama dengan perintah dd untuk mendapatkan string karakter acak.

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

Kita harus melewatkan output melalui base64 encoding untuk membuatnya dapat dibaca manusia. Anda dapat bermain dengan nilai hitungan untuk mendapatkan panjang yang diinginkan. Untuk hasil yang jauh lebih bersih, arahkan std2 ke /dev/null . Perintah bersihnya adalah –

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

Menggunakan md5sum untuk membuat kata sandi

Cara lain untuk mendapatkan array karakter acak yang dapat digunakan sebagai kata sandi adalah dengan menghitung checksum MD5! jika Anda tahu nilai checksum memang terlihat seperti karakter acak yang dikelompokkan bersama, kita dapat menggunakannya sebagai kata sandi. Pastikan Anda menggunakan sumber sebagai variabel sesuatu sehingga Anda mendapatkan checksum yang berbeda setiap kali Anda menjalankan perintah. Misalnya date ! perintah date selalu menghasilkan perubahan output.

root@kerneltalks # date |md5sum
4d8ce5c42073c7e9ca4aeffd3d157102  -

Di sini kami melewati date perintah output ke md5sum dan dapatkan hash checksum! Anda dapat menggunakan perintah cut untuk mendapatkan panjang output yang diinginkan.

Buat sandi menggunakan pwgen

pwgen paket dilengkapi dengan repositori seperti EPEL. pwgen lebih fokus pada menghasilkan kata sandi yang dapat diucapkan tetapi bukan kata kamus atau tidak dalam bahasa Inggris biasa. Anda mungkin tidak menemukannya di repo distribusi standar. Instal paket dan jalankan pwgen memerintah. 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

Anda akan disajikan daftar kata sandi di terminal Anda! Apalagi yang kamu mau? Oke. Anda masih ingin menjelajah, pwgen hadir dengan banyak opsi khusus yang dapat dirujuk untuk halaman manual.

Buat kata sandi menggunakan alat gpg

GPG adalah alat enkripsi dan penandatanganan OpenPGP. Sebagian besar alat gpg sudah diinstal sebelumnya (setidaknya ada di RHEL7) saya. Tetapi jika tidak, Anda dapat mencari gpg atau gpg2 paket dan instal.

Gunakan perintah di bawah ini untuk menghasilkan kata sandi dari alat gpg.

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

Di sini kita melewati sakelar urutan byte acak (--gen-random ) kualitas 1 (argumen pertama) dengan hitungan 12 (argumen kedua). Ganti --armor memastikan output base64 dikodekan.

Buat kata sandi menggunakan xkcdpass

Situs web humor geek terkenal xkcd, menerbitkan posting yang sangat menarik tentang kata sandi yang mudah diingat tetapi masih rumit. Anda dapat melihatnya di sini. Jadi xkcdpass alat mengambil inspirasi dari posting ini dan berhasil! Ini adalah paket python dan tersedia di situs resmi python di sini

Semua petunjuk pemasangan dan penggunaan disebutkan di halaman itu. Berikut adalah langkah-langkah pemasangan dan keluaran dari server RHEL pengujian saya untuk referensi Anda.

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

Sekarang menjalankan xkcdpass perintah akan memberi Anda serangkaian kata kamus acak seperti di bawah ini –

root@kerneltalks # xkcdpass
broadside unpadded osmosis statistic cosmetics lugged

Anda dapat menggunakan kata-kata ini sebagai masukan untuk perintah lain seperti md5sum untuk mendapatkan kata sandi acak (seperti di bawah) atau Anda bahkan dapat menggunakan huruf ke-N dari setiap kata untuk membentuk kata sandi Anda!

root@kerneltalks # xkcdpass |md5sum
45f2ec9b3ca980c7afbd100268c74819  -

root@kerneltalks # xkcdpass |md5sum
ad79546e8350744845c001d8836f2ff2  -

Atau bahkan Anda dapat menggunakan semua kata tersebut bersama-sama sebagai kata sandi yang panjang sehingga mudah diingat oleh pengguna dan sangat sulit untuk diretas menggunakan program komputer.

Ada alat seperti Diceware, KeePassX, Revelation, PasswordMaker untuk Linux yang dapat dipertimbangkan untuk membuat kata sandi acak yang kuat.


Linux
  1. 10 cara untuk menganalisis file biner di Linux

  2. 4 Cara Menghasilkan Pre-Shared Key (PSK) yang Kuat di Linux

  3. 3 Cara Mendaftar Pengguna di Linux

  1. Cara Membuat/Mengenkripsi/Mendekripsi Kata Sandi Acak di Linux

  2. Cara Mengelola Kata Sandi Akun di Linux

  3. Cara membuat kata sandi acak di linux menggunakan /dev/random

  1. 3 cara bermain video game di Linux

  2. Kata Sandi Default Kali Linux

  3. 10 cara untuk menghasilkan kata sandi acak di Linux