7
任意のコマンドに対して、プロンプトを使用して機密データをbashで渡す方法はありますか?
sha1passコマンドラインで機密性の高いパスワードのハッシュを生成するために使用していたとします。のsha1pass mysecretハッシュを生成するために使用できますmysecretが、これにmysecretは現在bash履歴にある欠点があります。mysecretおそらくpasswd-styleプロンプトを使用して、プレーンテキストでの表示を回避しながら、このコマンドの最終目標を達成する方法はありますか? また、機密データをコマンドに渡すためにこれを行う一般的な方法にも興味があります。メソッドは、機密データが引数(inなど)として、sha1passまたはSTDINで何らかのコマンドに渡されると変更されます。 これを達成する方法はありますか? 編集:この質問は多くの注目を集めており、いくつかの良い答えが下に提供されています。要約は次のとおりです。 あたりとしてKusalanandaの答え@、理想的には、ユーティリティのコマンドライン引数としてパスワードや秘密を与える必要はないだろう。これは彼が説明したようにいくつかの点で脆弱であり、STDINで秘密の入力を取得できる、より良く設計されたユーティリティを使用する必要があります。 @vfbsilvaの答えは、bashの履歴に物事が保存されるのを防ぐ方法を説明しています @Jonathanの答えは、プログラムがSTDINでその秘密データを取得できる限り、これを達成するための完全に良い方法を説明しています。そのため、この答えを受け入れることにしました。sha1pass私のOPでは例に過ぎませんが、STDINでデータを取得するより優れたツールが存在するという議論が確立されました。 @R ..内のノート彼の答えは、変数のコマンド拡張を使用することであるない安全。 要約すると、適切に設計され、適切に動作するプログラムがあることを考えると、@ Jonathanの回答が最良のソリューションであるため、@ Jonathanの回答を受け入れました。コマンドライン引数としてパスワードまたはシークレットを渡すことは基本的に安全ではありませんが、他の答えは単純なセキュリティ上の懸念を軽減する方法を提供します。