Necesito automatizar ssh-keygen -t rsa
sin una contraseña, es decir, ingresar en el indicador.
¿Cómo puedo hacer eso desde un script de shell?
164
Para generar un par de claves SSH sin que se le solicite una frase de contraseña, puede hacer lo siguiente:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
" :(dzdo
comando delante de él, así que tuve que escribir:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
es significativo. Cuando agregué el espacio tuvo éxito!Si necesita hacer esto desde PowerShell en Windows use:
Tenga en cuenta que también debe asegurarse de que el directorio git bin esté en su ruta:
Luego, para usarlo en PoshGit es solo:
fuente
git\usr\bin
es el directorio correcto.ssh-keygen -f $Name -t rsq -N '""'
.'""'
'""'
Es la única variante que funcionó para mí.fuente
Solo una corrección para responder 2 ... descubrí en mi sistema OL y RHEL que el nombre del archivo debería ser id_rsa no id.rsa.
Entonces, en un sistema OL o RHEL, el comando sería:
fuente
id_rsa
es el nombre de archivo predeterminado para una clave RSA, por lo que si desea mantener el valor predeterminado, no está obligado a utilizar explícitamente la-f
opción.-f
opción es para que pueda ejecutar esto en un script. Puede reafirmar el valor predeterminado para deshabilitar la solicitud posterior.Qué pasa :
Como se señala en
man ssh-keygen
:(es decir, con
openssh-client
el paquete en Debian 9.4 estiramiento:OpenSSH_6.7p1 Debian-5+deb8u4
)fuente
Necesitaba automatizar en un script bash el comando ssh-keygen y la respuesta final que me funciona bien:
El comando echo con -e interpreta "\ n" como una tecla Intro, pero no funciona con la frase de contraseña. Luego, utilizando la opción -N "" (frase de contraseña vacía) la contraseña estará vacía y no pedirá nada. &> / dev / null enviará 'stdout' y 'stderr' a / dev / null para que no se imprima nada a través de la pantalla.
fuente
fuente