스크립트가 실행 중일 때 예상 비밀번호를 수동으로 입력하고 변수로 사용하십시오.

스크립트가 실행 중일 때 예상 비밀번호를 수동으로 입력하고 변수로 사용하십시오.

암호가 필요할 때마다 대화형을 사용하는 예상 스크립트가 있습니다. 의도된 프로그램은 자동으로 비밀번호를 여러 번 묻습니다. 비밀번호를 한 번만 입력하고 다음에 요청할 때 비밀번호를 사용하도록 하는 방법이 있습니까? 이를 수행하는 안전한 방법이 있습니까? 비밀번호는 안전하지 않기 때문에 컴퓨터 파일에 비밀번호를 저장하고 싶지 않습니다.

답변1

비밀번호를 안전하게 저장하는 측면에서 openssl비밀번호를 생성한 다음 후속 입력을 비밀번호와 비교하는 MD5 해시를 사용할 수 있습니다. 이는 /etc/passwd비밀번호가 저장되는 방식 과 유사합니다 .

openssl passwd -1 -salt j7bJUIHI YOURSECRETPASSWORD

이 명령은 Expect 스크립트에 저장할 수 있는 문자열을 제공합니다. 사용자가 사용하려는 비밀번호를 입력하면

openssl passwd -1 -salt j7bJUIHI $INPUT

저장된 문자열과 비교됩니다. 일치하면 $INPUT이 올바른 비밀번호입니다. 문자열 -salt은 무엇이든 될 수 있지만 올바르게 비교하려면 호출 간에 수정해야 합니다 openssl.

원래 비밀번호를 검색해야 하는 경우에는 이 방법을 사용할 수 없습니다. 해당 주제에 대한 보다 일반적인 토론을 보려면 이 항목을 확인하세요.쉘 스크립트에서 비밀번호 숨기기


죄송합니다. 이 글을 두 번째로 읽었을 때 귀하의 질문을 오해했다는 것을 깨달았습니다. 여기에서 답변을 확인하세요.https://stackoverflow.com/questions/681928/how-can-i-make-an-expect-script-prompt-for-a-password. 원하시는 솔루션인 것 같습니다.

관련 정보