111 votes

Automatisation des touches "enter" pour le script bash script générant les clés ssh

J'aimerais créer un script, qui exécute simplement ssh-keygen -t rsa . Mais comment y passer 3 fois ?

233voto

Rudu Points 8641

Essayez :

ssh-keygen -t rsa -N "" -f my.key

-N "" lui demande d'utiliser une phrase d'authentification vide (la même que deux des entrées dans un script interactif)

-f my.key lui indique de stocker la clé dans my.key (à modifier selon vos besoins).

L'ensemble fonctionne sans que vous ayez besoin de fournir des touches d'entrée :)

Pour envoyer des entrées à un script interactif :

echo -e "\n\n\n" | ssh-keygen -t rsa

4 votes

C'est une réponse correcte, mais j'aimerais quand même savoir comment appuyer sur entrée plus d'une fois - dans un autre script.

3 votes

Bien sûr - j'ai mis à jour la réponse pour inclure comment envoyer des nouvelles lignes à un script.

2 votes

Echo -e " \n\n\n " | sshkeygen -t rsa ne fonctionne pas pour moi, pouvez-vous essayer vous-même ? Il ne réussit que la première entrée. Mais sur d'autres, simples script cela fonctionne.

26voto

Alexey Kuznetsov Points 434
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa

22voto

Michel Marro Points 347

Une version avec phrase d'authentification est :

$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q 
  • le -q est pour le silence

La source est http://linux.die.net/man/1/ssh-keygen

3voto

shamox Points 69

D'accord avec Michel Marro sauf qu'il a besoin de plus : Si le fichier existe déjà, il sera toujours interactif et demandera s'il doit l'écraser.

Utilisez la réponse à cette question question .

yes y | ssh-keygen -q -t rsa -N '' >/dev/null

La redirection vers null est nécessaire pour faire taire le message d'écrasement.

2voto

Madan Sapkota Points 3464

Il est recommandé d'utiliser ed25519 pour la sécurité et la performance.

yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""

aquí

-o Format de clé OpenSSH au lieu de l'ancien format PEM (nécessite OpenSSH 6.5+)

-a Nombre de tests de primalité lors de la sélection des candidats DH-GEX

-t Type de clé (ed25519, RSA, DSA, etc.)

-f /mypath/bla Le chemin et le nom du fichier de sortie

-N "" Utiliser une phrase d'authentification vide

et yes "y" sans interaction.

Il génère deux fichiers

/mypath/bla
/mypath/bla.pub

où les bla est privé et bla.pub est publique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X