技術ノート 特徴 Linux コマンドラインからランダムなパスワードを生成する 10 の方法

Linux コマンドラインからランダムなパスワードを生成する 10 の方法

Linux コマンドラインからランダムなパスワードを生成する 10 の方法

Linux の優れた点の 1 つは、同じことを何百もの異なる方法で実行できることです。ランダムなパスワードを生成するような単純なことでも、数十の異なるコマンドを使用して実行できます。できる10の方法をご紹介します。

Linux コマンドラインからランダムなパスワードを生成する 10 の方法

コマンドライン Fu からこれらのコマンドをすべて収集し、私たち自身の Linux PC でテストして、機能することを確認しました。 Cygwin がインストールされている Windows ではこれらの少なくとも一部を使用できるはずですが、すべてをテストしたわけではありません。ただし、最後のものは間違いなく動作します。

ランダムなパスワードを生成する

Linux コマンドラインからランダムなパスワードを生成する 10 の方法

これらのランダム パスワード コマンドはいずれも、別のパスワード長を出力するように変更することも、それほど長いパスワードが必要ない場合は、生成されたパスワードの最初の x 文字だけを使用することもできます。いずれにせよ、 LastPass のようなパスワード マネージャーを使用しているので、パスワードを覚える必要がないことを願っています。

Linux コマンドラインからランダムなパスワードを生成する 10 の方法

このメソッドは、SHA を使用して日付をハッシュし、base64 で実行してから、上位 32 文字を出力します。

date +%s | sha256sum | base64 | head -c 32 ; echo
 date +%s | sha256sum | base64 | head -c 32 ; echo 
Linux コマンドラインからランダムなパスワードを生成する 10 の方法

この方法では、組み込みの /dev/urandom 機能を使用し、通常パスワードに使用する文字のみをフィルターで除外します。次に、上位 32 を出力します。

< /dev/urandom tr -dc _A-Z -a -z-0-9 | head -c ${1:-32} ; echo ;
 < /dev/urandom tr -dc _A-Z -a -z-0-9 | head -c ${1:-32} ; echo ; 
Linux コマンドラインからランダムなパスワードを生成する 10 の方法

これは openssl の rand 関数を使用しますが、システムにインストールされていない可能性があります。他にも例がたくさんあるのは良いことですよね?


 openssl rand -base64 32

これは他の urandom とよく似ていますが、逆の動作をするだけです。バッシュはとても強力です!

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

これは、strings コマンドを使用してフィルタリングする別の例です。このコマンドは、ファイルから印刷可能な文字列を出力します。この場合は、urandom 機能です。

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

これは、urandom のさらに単純なバージョンです。

< /dev/u random tr -dc _A-Zaz -0 -9 | head -c6
 < /dev/u random tr -dc _A-Zaz -0 -9 | head -c6

これは非常に便利な dd コマンドを使用することができます。

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

片手でパスワードを入力できるように、ランダムな左手パスワードを作成することもできます。

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

これを常に使用する場合は、関数に組み込むことをお勧めします。この場合、コマンドを 1 回実行すると、いつでも randpw を使用してランダムなパスワードを生成できるようになります。おそらくこれを ~/.bashrc ファイルに入れるとよいでしょう。

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

これと同じ構文を使用して、これらのいずれかを関数にすることができます。{ } 内のすべてを置き換えるだけです。

コマンド ラインからパスワードを作成する最も簡単な方法は次のとおりです。これは、Linux、Cygwin を備えた Windows、そしておそらく Mac OS X で機能します。他のオプションほどランダムではないと不満を言う人もいるでしょう。しかし正直に言うと、すべてを使用する場合は十分にランダムです。


 date | md5sum

はい、それさえ覚えれば簡単です。


Linux のコマンド ラインからランダムなパスワードを作成する方法は他にもたくさんあります。たとえば、mkpasswd コマンドを使用すると、実際に Linux ユーザー アカウントにパスワードを割り当てることができます。それで、あなたの好きな方法は何ですか?

Linuxコマンド

ファイル

tar pv cat tac chmod grep diff sed ar man pushd popd fsck testdisk seq fd pandoc cd $PATH awk join jq fold uniq journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · · mkdir · du · ln · パッチ · 変換 · rclone · シュレッド · srm · scp · gzip · chattr · カット · 検索 · umask · wc · tr

プロセス

エイリアス · スクリーン · トップ · ナイス · renice · 進行状況 · strace · systemd · tmux · chsh · 履歴 · at · バッチ · フリー · what · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · タイムアウト · ウォール · はい · キル · スリープ · sudo · su · タイム · groupadd · usermod · · lshw · シャットダウン · 再起動 · 停止 · パワーオフ · パスワード · lscpu · crontab · 日付 · bg · fg · pidof · nohup · pmap

ネットワーキング

netstat ping ip ss whois fail2ban bmon dig finger nmap ftp curl wget who whoami w iptables ssh-keygen ufw arping firewalld

関連: 開発者と愛好家のための最高の Linux ラップトップ

「Linux コマンドラインからランダムなパスワードを生成する 10 の方法」に関するベスト動画選定!

【Windows 10】PIN作成を省略し今後PINを設定しないようにする方法
【とりあえず覚えておけば大丈夫】Linuxコマンド10選についてお話します