Eu gostaria de criar um script que simplesmente seja executado ssh-keygen -t rsa
. Mas como passar para ele entrar 3 vezes?
101
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 deecho -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 devessh-keygen
sempre adicionar uma pergunta, que também será respondida automaticamente. :)uma versão com senha é:
A fonte é http://linux.die.net/man/1/ssh-keygen
fonte
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 .
O redirecionamento para nulo é necessário para silenciar a mensagem de substituição.
fonte
fonte
echo -e
emite algo diferente de-e
tudo, que nãossh-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 deecho
( qualquerecho
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 deecho ... |
)$ 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.
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 vaziae
yes "y"
sem interação.Irá gerar dois arquivos
onde o
bla
arquivo é privado ebla.pub
público.fonte