Eu gostaria de criar um script automatizado que chame ssh-keygen
e crie alguns pares de chaves pub / particulares que usarei mais tarde. Em princípio, tudo funciona bem com ...
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q
... exceto que ele me pede a senha que criptografaria as chaves. Isso faz com que a automação seja difícil.
Eu poderia fornecer uma senha através do argumento da linha de comando -N thepassphrase
, para impedir que o prompt apareça. Ainda assim, eu nem desejo ter as chaves - adicionalmente protegidas por criptografia - e quero que os pares de chaves sejam texto sem formatação.
Qual é a (a melhor) solução para esse problema?
A -q
opção que supostamente significa "silencioso / silencioso" ainda não evita a interação da frase secreta. Também não encontrei algo parecido com isto
ssh-keygen ...... -q --no-passphrase
Por favor, não comece a pregar ou me ensinar os prós e os contras da "frase secreta que falta", estou ciente disso. Na forma interativa (não como um script), o usuário pode simplesmente pressionar [ENTER] duas vezes e a chave será salva como texto sem formatação. Isto é o que eu quero alcançar em um script como este:
#! / bin / bash command1 command2 var = $ (comando3) # isso não deve parar o script e pedir senha ssh-kegen -b 2048 -t rsa -f / tmp / sshkey -q
/tmp/sshkey
já exista, é possível obter um prompt de substituição. Isso pode ser evitado através do redirecionamento / fechamento do stdin - por exemplo, através da adição0>&-
.