Respuestas:
Tratar:
ssh-keygen -t rsa -N "" -f my.key
-N "" le dice que use una frase de contraseña vacía (lo mismo que dos de las entradas en un script interactivo)
-f my.keyle dice que almacene la clave en my.key(cambie como mejor le parezca).
Todo se ejecuta sin que tenga que proporcionar ninguna tecla de entrada :)
Para enviar entradas a un script interactivo:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygense cayó, ¿lo agregaste nuevamente? {editado} Además, no puede ejecutar el script más de una vez, cambia las preguntas para confirmar que desea sobrescribir el _rsaarchivo de claves existente (por lo que es necesario proporcionar ay o n)
yes ""lugar de echo -e "\n\n\n"( yesgenera cualquier argumento dado [o "y" por defecto] en infinito - perfecto para estas situaciones donde uno solo quiere dar una respuesta "sí" a lo que sea que un programa pueda solicitar). yeses más corto y debería ssh-keygenagregar una pregunta, que también será respondida automáticamente en. :)
una versión con contraseña es:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
La fuente es http://linux.die.net/man/1/ssh-keygen
De acuerdo con Michel Marro, excepto que necesita algo más: si el archivo ya existe, seguirá siendo interactivo y le preguntará si debe sobrescribirlo.
Utilice la respuesta de esta pregunta .
yes y | ssh-keygen -q -t rsa -N '' >/dev/null
La redirección a nulo es necesaria para silenciar el mensaje de sobrescritura.
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -eemite algo diferente -e, que no ssh-keygenestá disponible en todas partes ).
ssh-keygen -N ''como parte de un procedimiento de instalación automatizado, y no lee stdin en absoluto, por lo que no hay necesidad de echo( ninguna echo variante) conectada a él. (Por supuesto, creo que stdin está conectado /dev/nullen mi caso de uso de producción; bien podría haber un comportamiento diferente cuando está conectado a un TTY, pero la mejor respuesta es en </dev/nulllugar 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):
Se recomienda utilizar ed25519 por motivos de seguridad y rendimiento.
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
aquí
-o Formato de clave OpenSSH en lugar de PEM anterior (necesita OpenSSH 6.5+)
-a Número de pruebas de primalidad durante la selección de candidatos DH-GEX
-t Tipo de clave (ed25519, RSA, DSA, etc.)
-f /mypath/bla La ruta y el nombre del archivo de salida
-N "" Usar fase de paso vacía
y yes "y"sin interacción.
Generará dos archivos
/mypath/bla
/mypath/bla.pub
donde el blaarchivo es privado y bla.pubpúblico.