GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでランダムパスワードを生成する10の方法

どのシステム環境やドメインでも、このシステムが対応するデータとサービスのセキュリティは最優先事項に値します。生成されたパスワードにセキュリティが依存するOSやその他のシステムを適切に保護することが不可欠です。これにより、安全なパスワードの使用がすべてのユーザーにとって重要なフットプリントになります。システムで使用するパスワードは、認証されていない侵入者からデータとユーザーアクティビティを保護するのに役立ちます。これらのパスワードをどのように作成するかは、予測できないものである必要があります。

この予測不可能性により、システムユーザーまたはシステム管理者として必要な信頼性が得られます。そのようなパスワードを生成するためのアルゴリズムは、それらの作成がマシン指向である場合、それらに必要な一意性を付与します。このため、解読不可能なパスワードレンディションを生成するために、比類のない創造性に常に依存できるとは限りません。このパスワード生成ゲームで得意すぎるものの評判と専門知識が必要です。 LinuxオペレーティングシステムであるFamerの殿堂に勝るこのポジションの候補はありません。

パスワード生成ロジック

インターネット上のローカルコンピュータまたはWebサイトにアクセスするには、常にパスワードとユーザー名の組み合わせを使用していることに気付くでしょう。使用するパスワードフレーズは、使用しているWebまたはホストされているサービスやアプリケーションを介した認証に自信を持てるように、強力で、一意で、複雑である必要があります。

パスワード認証を必要とするほとんどのプラットフォームに登録する場合、これらのプラットフォームは、多くの場合、従うべきパスワード設定ガイドを提供します。安全なパスワードの長さのために、14文字の最小要件を満たすようにアドバイスされる場合があります。これらの文字のバリエーションには、小文字と大文字を考慮したアルファベット、数字、さらにはキーボード記号も含まれている必要があります。これは、多くのユーザーに役立つアプローチです。しかし、十分な忍耐力がない場合や、必要になるたびに一意で強力なパスワードを解明するという創造的な考え方がある場合はどうでしょうか。

Linuxプラットフォームでは、脳の筋肉を伸ばすことなく、このパスワードの目的を数秒で達成できます。この記事で評価するこれらのパスワード生成手法のすべてではないにしても、ほとんどの場合、Linuxコマンドラインインターフェイスに精通している必要があります。さまざまなパスワード生成の方法論とユーティリティは、Linuxコマンドライン環境に快適に適応します。

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

簡単に使用できるパスワード生成手法を選択するのはあなた次第です。

方法1:OpenSSLを使用したLinuxパスワードの生成

このアプローチでは、最初にターミナルまたはコマンドラインインターフェイスを起動する必要があります。次に、OpenSSL Rand関数の有効性を利用して、強力なパスワードの組み合わせを作成します。この関数例は、生成されたユーザーパスワードとして14個のランダムな文字列文字を出力します。 Linux端末で次のコマンド文字列を実行して、このパスワード生成アプローチを実装します。

$ openssl rand -base64 14

私の側の出力は、このハッキングできない14文字のパスワードを生成することができました。

1ehAW3ZpL0H1Ny+jniQ=

方法2:Urandonを使用したLinuxパスワードの生成

Linuxシステムでハッキングできないパスワードを生成するためのこのリストの2番目のコマンドは、urandomを使用することです。このコマンドの動作は、パスワードが / dev / urandonを介して生成されることです。 その後、 trを介して出力されます 口論。これは、不要な生成文字を無視するためのフィルタリングメカニズムです。

この場合、14文字の長さのパスワードが必要であるとしましょう。このメソッドで実装されたフィルタリングメカニズムは、パスワードで生成された最初の14文字のみを出力し、残りは無視します。パスワードに14文字以上が必要な場合は、を編集して、パスワードの長さを指定できます。 c14 次のコマンド文字列に表示される引数。

$ sudo < /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo

私の側の出力では、次の一意のパスワード文字列が生成されました。

fJby4dNhuiUDnu

このコマンドを実行するには、ユーザーがSudo権限を持っている必要があることに気付いたかもしれません。これは、必要なパスワード文字列を生成するために一部のLinuxシステムファイル環境にアクセスしているためです。このようなファイルへのアクセス権を持っているのはSudoerユーザーだけです。

方法3:pwgenを使用したLinuxパスワードの生成

このアプローチには、pwgenという名前のツールが必要です。 Linuxパスワードを生成するための最初の2つの組み込みアプローチとは異なり、pwgenはLinuxシステムに事前にパッケージ化されていないため、最初にインストールする必要があります。次のpwgenインストールコマンドは、Debianベース、Archベース、RPMベースのLinuxオペレーティングシステムにそれぞれ適用されます。

$ sudo apt install pwgen
$ sudo pacman -S pwgen
$ sudo yum install pwgen

インストール時間は1分未満で完了します。その後、 pwgenを使用します 生成するパスワード文字列の長さを指定するコマンド。たとえば、このコマンドから15文字のパスワードを生成することを選択しました。

$ pwgen 15 1

以下は、端末から出力される一意のパスワードです。

rae4Quaw6ierieb

方法4:gpgを使用したLinuxパスワードの生成

これは、強力で一意のユーザーシステムパスワードを生成するためのもう1つの組み込みアプローチです。生成したいパスワードの長さを自由に指定できます。確認した他の方法で生成された14文字のパスワードの長さを維持します。パスワードを長くする必要がある場合は、コマンドの一部である14整数引数を編集できます。 Linux端末に次のコマンド文字列をコピーします。

$ gpg --gen-random --armor 1 14

私の終わりから、私は次の結果を達成することができました。

cB5jR27PZr/YZZJfr9A=

生成されたパスワードに文字と数字以外の記号を含めることで、このアプローチは、クラウドサーバーや金融ウェブサイトやプラットフォームなどの実際の環境で独自のパフォーマンスを発揮します。

方法5:SHAを使用したLinuxパスワードの生成

すべてのLinux愛好家は、SHAという用語に精通しています。これは、Secure Hash Algorithmの略語であり、暗号化ハッシュ関数として分類されます。このツールを使用して、ハッシュを介してファイルまたはデータの整合性を保護していることに気付くでしょう。ダウンロード前後のファイルまたはデータのステータスを比較するのに役立ちます。

これらの2つのハッシュインスタンスは、ダウンロードファイルとデータの整合性ステータスを確定するために一致する必要があります。これらの生成されたハッシュは非常に一意であるため、Linuxの日付関数も含めて何でもハッシュでき、生成されたハッシュを一意のユーザーまたはシステムパスワードとして使用できます。ハッシュ関数の次の実装例を考えてみましょう。

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

このハッシュ関数をテストして30文字の長さのパスワードを生成しましたが、結果は決してがっかりしませんでした。

ZDc1NDE2YjNhMzE0NmI4NmIyNmEwOW

方法6:MD5アルゴリズムを使用したLinuxパスワードの生成

MD5は、128ビット値の生成に効果的なもう1つのハッシュ関数です。暗号化ハッシュ関数としての有用性から、メッセージダイジェストアルゴリズムとして認識されています。これを使用して任意のシステム関数をハッシュでき、生成された出力はパスワードとして使用する独自のフレーズになります。 Linuxコマンドラインインターフェイスを介して簡単に実装できます。以前のパスワード生成アプローチではすでに日付関数をハッシュしているので、カレンダー関数をハッシュして、何が出力として生成されるかを見てみましょう。または、両方を行うこともできます。

$ date | md5sum

出力:

75111fa81779934d48150aca85a20bd5

次のコマンドは、Linuxカレンダー機能でmd5を使用します。

$ cal | md5sum

出力:

e2772fc86ded596812b3acf507ab204d

ご覧のとおり、Linuxの日付およびカレンダー関数からパスワードとして使用される一意のフレーズを生成できます。 Linux端末が対応できるシステムツールを考えて、それをMD5アルゴリズムとリンクして、最高のパスワードフレーズとして適格な文字列文字を生成します。 sudoを使用することもできます このmd5アルゴリズムを使用して、システムとユーザーのパスワードとして使用される一意のフレーズを生成します。

$ sudo | md5sum

出力:

d41d8cd98f00b204e9800998ecf8427e

方法7:apgを使用したLinuxパスワードの生成

APGは、Linux環境での一意のパスワードフレーズの生成を自動化するためのもう1つの効果的なツールです。このツールは、OSにあらかじめパッケージ化されているか、UbuntuLinuxシステムへのOSのインストール中にインストールされます。このユーティリティの使用は簡単であり、そのアプローチは、これまで扱ってきた他のパスワード生成メカニズムとは異なります。ランダムな入力を受け取り、さまざまなパスワードフレーズオプションを生成します。これらのオプションから、パスワードとして最適なフレーズを選択します。これらのランダムパスワードフレーズオプションの生成は、コマンド文字列 apg -a 1を実行するのと同じくらい簡単です。 。さまざまな出力オプションの長さは、8〜10個の一意のランダム文字になります。このapgパスワード生成アプローチをより実用的にする時が来ました。

$ apg -a 1

出力:

>7=z'pgQVb
kVA/Vl/?6
WQ?I4eT22T
NhZS=4dc<J
S~cX[9&[
rJ_Oj+X|=f

ご覧のとおり、出力には6つの固有のオプションがあります。生成されたフレーズのいずれかを使用するか、さまざまなパスワード要件でそれらすべてを使用するかを選択できます。これは、必要な数のパスワードフレーズを取得するために単一のコマンドを何度も実行する必要なしに、一度に多くのパスワードを生成するためのユニークなアプローチです。

方法8:makepasswdを使用したLinuxパスワードの生成

このユーティリティを使用するには、最初にインストールする必要があります。これは、これまでに説明したほとんどのアプローチのように組み込まれていないためです。 Debianベース、Archベース、RPMベースのLinuxシステムの場合、それぞれ makepasswd インストールコマンドは簡単です。

$ sudo apt install makepasswd
$ sudo pacman -S makepasswd
$ sudo yum install makepasswd

お気づきのとおり、このパッケージをインストールするための実行権限を付与するには、Sudoerユーザーである必要があります。 makepasswdの使用は簡単で、 apgよりもさらに柔軟です。 アプローチ。そのコマンド文字列は、生成するパスワードフレーズの結果の数を指定するための整数引数の使用に対応しています。 apgとして アプローチは、1回のコマンド実行で6つのパスワードインスタンスを生成します。makepasswdは、より多くのパスワードフレーズオプションを生成し、これらのパスワードフレーズの文字長を指定することもできます。デモンストレーションはどうですか。

$ makepasswd -count 10 -minchars 10

出力:

qSc75pVzUN

NNrggFKgCf

uqa6WYyabi

wnEuFQd81y

wLcJfEz5Cq

THR8jUB5VT

0jaSe88Jaz

5J064vidyA

UPsnHbB12g

B9rtrLmqrN

ご覧のとおり、コマンドライン出力は期待どおりに機能しました。これまでのところ、柔軟性と精度の観点から、 makepasswd パスワード生成ツールの中で究極のお気に入りとしてのアプローチ。ただし、レビューする候補があと2つ残っているため、この結論を出すことにあまり興奮してはいけません。

方法9:Perlを使用したLinuxパスワードの生成

この高級プログラミング言語は、有用でユニークなパスワードフレーズを生成するスクリプトを作成できます。ほとんどのLinuxディストリビューションは、デフォルトのリポジトリでPerlに対応しています。次のコマンドを実行して、LinuxシステムへのPerlのインストールを確認できます。

$ perl -v

このコマンドは、Linux環境にインストールされているPerlのバージョンを明らかにします。 Perlが存在しない場合、または上記のコマンドを実行するとエラーメッセージが表示される場合は、LinuxシステムにPerlを新たにインストールする必要があることを意味します。次のインストールコマンドは、Debianベース、Archベース、およびRPMベースのLinuxシステムに対応しています。

$ sudo apt install perl
$ sudo pacman -S perl
$ sudo yum install perl

Perlファイルには通常.plがあります 拡大。 Linuxオペレーティングシステムにその存在またはインストールを確認した後、パスワードフレーズを生成するためのPerlファイルまたはスクリプトを作成する必要があります。 my_passwordのような名前のファイルを作成します s _ ジェネレーター .pl ソースコードエディタから開きます。

~/Desktop$ touch my_passwords_generator.pl

または、ターミナルからこのPerlファイルを開きます。

$ nano my_passwords_generator.pl

Perlファイルに次のスクリプトコードを入力します。

#!/usr/bin/perl

my @alphanumeric = ('a'..'z', 'A'..'Z', 0..9);

my $random_password = join '', map $alphanumeric[rand @alphanumeric], 0..8;

print "$random_password\n"

このPerlスクリプトを実行すると、一意のパスフレーズ出力が生成されます。

$ perl my_passwords_generator.pl

出力:

LZJZcxr8A

Perlスクリプトの実行はターミナルから行われるため、実行コマンドを実行する前に、Perlファイルと同じディレクトリにいることを確認してください。私の場合、PerlファイルをLinux OSのデスクトップフォルダーに保存し、そこからコマンドラインまたはターミナルを開いて、ファイルに簡単にアクセスして実行できるようにしました。このアプローチは、コマンド引数を介して出力するパスワードの長さを指定するのに十分理想的です。

方法10:xkcdpassを使用したLinuxパスワードの生成

この記事のランダムパスワードジェネレータのリストの最後の候補は、 xkcdpassです。 。このユーティリティは、一意のパスワードフレーズを生成する際に柔軟でスクリプト化できます。多くのLinuxディストリビューションをインストールすると、システムユーティリティとして事前にパッケージ化されます。 Linuxシステムにxkcdpassがない場合は、次のコマンドを使用してインストールできます。

これらのインストールコマンドは、Debianベース、Archベース、およびRPMベースのLinuxディストリビューションで機能します。

$ sudo apt install xkcdpass or $ sudo snap install xkcdpass
$ sudo pacman -S xkcdpass
$ sudo yum install xkcdpass

このユーティリティの使用は、次のコマンドを実行するのと同じくらい簡単です。

$ xkcdpass

出力:

cabana pursuit available dimmed sandlot sporting

ご覧のとおり、この方法では、高レベルのセキュリティを必要としないシナリオでパスワードとして適用できる独自のパスフレーズが生成されます。金融プラットフォーム/サービスまたはクラウドコンピューティングプラットフォームにとって理想的なオプションではありません。多くのネットワーク攻撃者やハッカーがセキュリティインフラストラクチャを標的にしていないソーシャルメディアアカウントやブログサイトなどのプラットフォームでこれらのパスフレーズを使用することを検討できます。

上記のコマンドは、デフォルトで6つのパスフレーズオプションを生成しました。さらにパスフレーズを生成する必要がある場合は、 -nを実装します xkcdpassコマンドの一部として整数引数を持つオプション。たとえば、次のコマンドから11個のパスフレーズを生成できます。

$ xkcdpass -n 11

出力:

confusion kennel humming unnatural plenty defraud vineyard stunning shindig voucher survive

xkcdpassにはまだまだあります。次のコマンドを実行することで、xkcdpassからより複雑なパスフレーズを実装する方法を学ぶことができます。

$ man xkcdpass

ファイナルノート

Linuxオペレーティングシステムを介したパスワード生成は、その使用をオペレーティングシステム環境のみに制限するだけではありません。メールアカウント、ソーシャルメディアアカウント、ブログサイト、eコマースサイト、さらにはクラウドサーバーを保護するための独自の方法を模索している可能性があります。

生成されたパターンが複雑すぎて覚えられない場合に、複数のパスワードをどのように使用するかを自問するかもしれません。解決策は簡単です。生成されたパスワードを保護するために、Linuxでサポートされている多数のパスワードウォレットまたはパスワードマネージャーを使用することを検討してください。これで、パスワードの問題に対する2つの解決策があります。それらを作成し、使用が必須になるまで安全にロックする方法。


Linux
  1. Linuxでバイナリファイルを分析する10の方法

  2. Linuxで強力な事前共有キー(PSK)を生成する4つの方法

  3. Linuxでアカウントのパスワードを管理する方法

  1. Linuxでランダムパスワードを生成/暗号化/復号化する方法

  2. / dev/randomを使用してLinuxでランダムパスワードを生成する方法

  3. Linuxでユーザーを一覧表示する3つの方法

  1. Linuxでビデオゲームをプレイする3つの方法

  2. KaliLinuxのデフォルトパスワード

  3. Linux でランダムなパスワードを生成する 8 つの方法