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.key
le 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-keygen
se 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 _rsa
archivo de claves existente (por lo que es necesario proporcionar ay o n)
yes ""
lugar de echo -e "\n\n\n"
( yes
genera 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). yes
es más corto y debería ssh-keygen
agregar 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 -e
emite algo diferente -e
, que no ssh-keygen
está 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/null
en 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/null
lugar 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 bla
archivo es privado y bla.pub
público.