スクリプトが実行されている場合は、予想されるパスワードを手動で入力し、変数として使用します。

スクリプトが実行されている場合は、予想されるパスワードを手動で入力し、変数として使用します。

パスワードが必要なときはいつでもインタラクティブを使用する予想されるスクリプトがあります。意図されたプログラムは自動的にパスワードを何度も尋ねます。パスワードを一度だけ入力し、次回リクエストするときにパスワードを使用させる方法はありますか?これを行う安全な方法はありますか?パスワードは安全ではないため、コンピュータファイルにパスワードを保存したくありません。

ベストアンサー1

パスワードを安全に保存するという点でopensslパスワードを生成し、その後の入力をパスワードと比較するMD5ハッシュを使用できます。これは/etc/passwdパスワードの保存方法と似ています。

openssl passwd -1 -salt j7bJUIHI YOURSECRETPASSWORD

このコマンドは、Expectスクリプトに保存できる文字列を提供します。ユーザーが使用したいパスワードを入力すると、

openssl passwd -1 -salt j7bJUIHI $INPUT

保存された文字列と比較されます。一致すると、$ INPUTは正しいパスワードです。文字列-saltは何でも構いませんが、正しく比較するには呼び出し間で変更する必要がありますopenssl

元のパスワードを検索する必要がある場合は、この方法は使用できません。このトピックに関するより一般的な議論については、このトピックを確認してください。シェルスクリプトでパスワードを隠す


申し訳ありません。この記事を2回目に読んだとき、あなたの質問を誤解したことに気づきました。ここで回答を確認してください。https://stackoverflow.com/questions/681928/how-can-i-make-an-expect-script-prompt-for-a-password。ご希望のソリューションのようです。

おすすめ記事