2012-05-26 12 views

Respuesta

175

para generar un par de claves SSH sin que se le pida una contraseña que puede hacer lo siguiente:

$ ssh-keygen -f id_rsa -t rsa -N '' 
+2

¡Trabajó para mí! Github siempre solicitó una contraseña sin la opción -N aunque no ingrese una contraseña después de la frase "Ingrese la frase de contraseña (vacío para la frase de contraseña)" – Hollerweger

+3

En RHEL 6, recibí este error: "' ssh-keygen: la opción requiere un argumento - N' ":( –

+1

OK, esto fue porque utilicé el comando' dzdo' delante, así que tuve que escribir: 'dzdo -i -u usuario_destino ssh-keygen -f id_rsa -t rsa -N" '' "' –

15

Si lo que necesita hacer esto desde PowerShell en Windows utilizan:

ssh-keygen -f $Name -t rsa -N "''" 

tenga en cuenta que también debe asegurarse de que el directorio de git bin esté en su ruta:

$sshPath = "<path>\git\bin\" 

$env:path += ";$sshPath" 

Luego de utilizarlo en PoshGit es simplemente:

Add-SshKey "<path>\.shh\KeyFilename" 
+0

Gracias por esto. Por cierto, 'git \ usr \ bin' es el directorio correcto – majkinetor

+1

Esto no funciona para mí. Aparece un error" Tecla de ahorro "mykey" error: frase de paso demasiado corta (mínimo cuatro caracteres) "Tuve que cambiar las comillas dobles/simples, por ejemplo' ssh-keygen -f $ Name -t rsq -N '""' '. –

+0

@AaronJensen igual para mí. Gracias por la corrección. Utilicé '' '' '' '' –

11

sólo una corrección para responder 2 ... me encontré por mi OL y el sistema RHEL el nombre del archivo debe ser id_rsa no id.rsa.

Así que en un OL o el sistema RHEL el comando sería:

$ ssh-keygen -f id_rsa -t rsa -N '' 
+2

Por lo que yo entiendo, 'id_rsa' es el nombre de archivo predeterminado para una clave RSA, por lo que si quiere mantener el valor predeterminado, usted está no está obligado a utilizar explícitamente la opción '-f'. – danidemi

+3

@danidemi mientras tiene razón en que es el valor predeterminado, una razón para especificar la opción '-f' es para que pueda ejecutar esto en un script. Puede reafirmar el valor predeterminado para deshabilitar la solicitud subsiguiente. –

16
$ ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N '' 
0
$ printf '\n' | ssh-keygen -N '' 
0

que necesitaba para automatizar en un script bash el comando ssh-keygen y la respuesta final que funciona bien a me:

echo -e "\n" | ssh-keygen -N "" &> /dev/null 

el comando echo con el -e interpreta "\ n" como una tecla Intro, pero no funcionan con la frase de contraseña. Luego, usando la opción -N "" (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 nada se imprima a través de la pantalla.

Cuestiones relacionadas