Respostas:
Experimentar:
ssh-keygen -t rsa -N "" -f my.key
-N ""
diz a ele para usar uma senha longa vazia (a mesma que duas das entradas em um script interativo)
-f my.key
diz a ele para armazenar a chave em my.key
(mude como achar necessário).
A coisa toda funciona sem que você precise fornecer nenhuma tecla enter :)
Para enviar entradas para um script interativo:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygen
caiu - você o adicionou de volta? {editado} Além disso - você não pode executar o script mais de uma vez - ele muda as perguntas para confirmar que você deseja sobrescrever o _rsa
arquivo de chave existente (portanto, ay ou n precisa ser fornecido)
yes ""
vez de echo -e "\n\n\n"
( yes
produz qualquer argumento fornecido [ou "y" por padrão] no infinito - perfeito para essas situações em que se deseja apenas dar uma resposta "sim" para qualquer coisa que um programa possa solicitar). yes
é mais curto e deve ssh-keygen
sempre adicionar uma pergunta, que também será respondida automaticamente. :)
uma versão com senha é:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
A fonte é http://linux.die.net/man/1/ssh-keygen
Concordo com Michel Marro, exceto que precisa de mais alguns: Se o arquivo já existir, ele ainda será interativo perguntando se deve sobrescrevê-lo.
Use a resposta desta pergunta .
yes y | ssh-keygen -q -t rsa -N '' >/dev/null
O redirecionamento para nulo é necessário para silenciar a mensagem de substituição.
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -e
emite algo diferente de -e
tudo, que não ssh-keygen
está disponível em todos os lugares ).
ssh-keygen -N ''
como parte de um procedimento de instalação automatizado, e ele não lê stdin, então não há necessidade de echo
( qualquer echo
variante) canalizado nele. (Concedido, acredito que stdin está conectado /dev/null
em meu caso de uso de produção; pode haver um comportamento diferente quando ele está vinculado a um TTY, mas a melhor resposta é </dev/null
ao invés de echo ... |
)
$ ssh-keygen -t rsa -N '' Generating public/private rsa key pair. Enter file in which to save the key (/home/dlyons/.ssh/id_rsa):
É recomendado usar ed25519 para segurança e desempenho.
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
aqui
-o
Formato de chave OpenSSH em vez do PEM mais antigo (requer OpenSSH 6.5+)
-a
Número de teste de primalidade durante a triagem de candidatos DH-GEX
-t
Tipo de chave (ed25519, RSA, DSA etc.)
-f /mypath/bla
O caminho e nome do arquivo de saída
-N ""
Use a passphase vazia
e yes "y"
sem interação.
Irá gerar dois arquivos
/mypath/bla
/mypath/bla.pub
onde o bla
arquivo é privado e bla.pub
público.