2014-03-04 4 views
2

을 사용하여 OpenSSL을 위해 비밀번호를 응답 자동 I 다음 명령을하지만 ... 나를 위해 작동하지 않습니다히어 닥

cd /etc/postfix/ssl/ && openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 <<PASS 
password 
password 
PASS 

UPDATE :

출력은 다음과 같습니다

109 semi-random bytes loaded 
Generating RSA private key, 1024 bit long modulus 
...............................++++++ 
...........++++++ 
e is 65537 (0x10001) 
Enter pass phrase for smtpd.key: 

자동으로 질문에 답하고 자동으로 암호를 입력해야합니다.

나는 항상

문제가 여기에 무엇입니까 ... bash는 내 Q &을 자동화 HEREDOC을 사용하고 잘 작동?

+2

보안 목적을 상실하십시오! – devnull

+0

어떤 방식으로 작동하지 않습니까? 문제를 설명해주십시오. – Biffen

+1

아마도 도움이 될까요? http://unix.stackexchange.com/a/29186 –

답변

0

HERE

난과 같이 히어 닥으로 할 수있다.

cd /etc/postfix/ssl/ && openssl genrsa -passout stdin -des3 -rand /etc/hosts -out smtpd.key 1024 <<PASS 
password 
PASSW 
3

OpenSSL (및 OpenSSH)은 보안 조치로 stdin이 아닌 터미널에서 직접 암호를 읽는 방법을 사용합니다.

그러나 OpenSSL에 암호를 제공하는 방법이 많이 있습니다. 섹션 PASS PHRASE ARGUMENTS에 대해서는 man openssl을 확인하십시오. 보안이없는 경우에는 "암호 때문에이 양식 만 사용되어야한다 (유닉스에서 'PS'와 같은) 유틸리티로 볼 수 있습니다 :

openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 -passout "pass:mypassword" 

을 ...하지만 맨 페이지 당 :

그래서 당신은 할 수 중요 "

또는 당신이 할 수 있습니다 : 암호가 PS에 표시되지 않기 때문에 다른 옵션에 비해 아마 더 안전

printf '%s\n' "$PASS" | { 
    openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024 -passout fd:3 
} 3<&0 

....

내가 표준 입력에서 읽을 수있는 OpenSSL에 대한 -passout stdin을 추가해야합니다 : @Graeme으로

+0

고맙습니다 .... '3'과'3 <& 0'은 무엇입니까? – MLSC

+1

파일 설명자 .http : //www.gnu.org/software/bash /manual/html_node/Redirections.html - 유용한 정보 – slim

+0

첫 번째와 두 번째 해결 방법을 실행합니다 ...하지만 자동으로 응답하지 않습니다 – MLSC

관련 문제