Você precisa adicionar -pass stdin para openssl para ler stdin , ou então, como @XTian diz, ele lerá a senha diretamente do dispositivo tty ou pts associado. Nenhum redirecionamento de shell resolverá isso.
Na mesma seção da página man que @XTian , deu:
stdin read the password from standard input.
Você pode fazer algo assim:
cd /etc/postfix/ssl/ &&
openssl genrsa -passout stdin -des3 -rand /etc/hosts -out smtpd.key 1024 <<PASS
password
PASS
Você também pode especificar a senha usando -passout pass: , mas isso é ainda menos seguro, já que a senha pode ser vista por qualquer usuário usando ps (veja a seção da página man em @ Post do XTian ).