Linux の優れた点の 1 つは、同じことを何百もの異なる方法で実行できることです。ランダムなパスワードを生成するような単純なことでも、数十の異なるコマンドを使用して実行できます。できる10の方法をご紹介します。
コマンドライン Fu からこれらのコマンドをすべて収集し、私たち自身の Linux PC でテストして、機能することを確認しました。 Cygwin がインストールされている Windows ではこれらの少なくとも一部を使用できるはずですが、すべてをテストしたわけではありません。ただし、最後のものは間違いなく動作します。
ランダムなパスワードを生成する
これらのランダム パスワード コマンドはいずれも、別のパスワード長を出力するように変更することも、それほど長いパスワードが必要ない場合は、生成されたパスワードの最初の x 文字だけを使用することもできます。いずれにせよ、 LastPass のようなパスワード マネージャーを使用しているので、パスワードを覚える必要がないことを願っています。
このメソッドは、SHA を使用して日付をハッシュし、base64 で実行してから、上位 32 文字を出力します。
date +%s | sha256sum | base64 | head -c 32 ; echodate +%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 ;< /dev/urandom tr -dc _A-Z -a -z-0-9 | head -c ${1:-32} ; echo ;
これは openssl の rand 関数を使用しますが、システムにインストールされていない可能性があります。他にも例がたくさんあるのは良いことですよね?
openssl rand -base64 32
これは他の urandom とよく似ていますが、逆の動作をするだけです。バッシュはとても強力です!
tr -cd '[:alnum:]' < /dev/u random | fold -w30 | head -n1tr -cd '[:alnum:]' < /dev/u random | fold -w30 | head -n1
これは、strings コマンドを使用してフィルタリングする別の例です。このコマンドは、ファイルから印刷可能な文字列を出力します。この場合は、urandom 機能です。
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n' ; echostrings /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 - | revdd 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 ラップトップ





