ssh-keys - generate - ssh-keygen windows
Automatice ssh-keygen-t rsa para que no solicite una frase de contraseƱa (7)
Necesito automatizar ssh-keygen -t rsa sin una contraseña, es decir, ingresar en el prompt. ¿Cómo puedo hacer eso desde un script de shell?
Gracias
Necesitaba automatizar en un script bash el comando ssh-keygen y la respuesta final que me funciona bien:
echo -e "/n" | ssh-keygen -N "" &> /dev/null
El comando echo con -e interpreta "/ n" como una tecla Intro, pero no funciona 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.
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 ''''
Qué pasa :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''''
Como se señaló en el man ssh-keygen
:
SYNOPSIS
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N new_passphrase] [-C comment] [-f output_keyfile]
(...)
-q Silence ssh-keygen.
(es decir, con el paquete openssh-client
en Debian 9.4 stretch: OpenSSH_6.7p1 Debian-5+deb8u4
)
Si necesita hacer esto desde PowerShell en Windows, use:
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"
Entonces para usarlo en PoshGit es solo:
Add-SshKey "<path>/.shh/KeyFilename"
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:
$ ssh-keygen -f id_rsa -t rsa -N ''''
$ printf ''/n'' | ssh-keygen -N ''''
$ ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N ''''