Me gustaría hacer un script automatizado que llame ssh-keygen
y cree algunos pares de claves pub / privados que usaré más adelante. En principio todo funciona bien con ...
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q
... excepto que me pide la frase de contraseña que cifraría las claves. Esto hace que, en la actualidad, la automatización sea difícil.
Podría proporcionar una frase de contraseña a través del argumento de la línea de comandos -N thepassphrase
, así que para mantener el símbolo de aparecer. Aún así, ni siquiera deseo tener las claves, adicionalmente aseguradas por cifrado , y quiero que los pares de claves sean de texto sin formato.
¿Cuál es la (la mejor) solución a este problema?
La -q
opción que supuestamente significa "silencioso / silencioso" todavía no evita la interacción de frase de contraseña. Además no he encontrado algo como esto
ssh-keygen ...... -q --no-passphrase
Por favor, no comience a predicar sobre mí ni a exponerme sobre los pros y los contras de la "frase de contraseña faltante", soy consciente de eso. En la forma interactiva (no como una secuencia de comandos), el usuario puede simplemente presionar [ENTER] dos veces y la clave se guardará como texto sin formato. Esto es lo que quiero lograr en un script como este:
#! / bin / bash comando1 comando2 var = $ (comando3) # esto no debería detener el script y pedir contraseña ssh-kegen -b 2048 -t rsa -f / tmp / sshkey -q
/tmp/sshkey
embargo, en caso de que ya exista, se obtiene un mensaje de sobrescritura. Esto puede evitarse mediante redireccionamiento / cierre de stdin, por ejemplo, mediante la adición0>&-
.