Réponses:
Essayer:
ssh-keygen -t rsa -N "" -f my.key
-N ""
lui dit d'utiliser une phrase de passe vide (la même que deux des entrées dans un script interactif)
-f my.key
lui dit de stocker la clé dans my.key
(changez comme bon vous semble).
Le tout fonctionne sans que vous ayez à fournir de clés d'entrée :)
Pour envoyer des entrées à un script interactif:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygen
été abandonné - l'avez-vous ajouté? {édité} De plus - vous ne pouvez pas exécuter le script plus d'une fois - il modifie les questions pour confirmer que vous voulez écraser le _rsa
fichier de clés existant (donc ay ou n doit être fourni)
yes ""
place de echo -e "\n\n\n"
( yes
renvoie n'importe quel argument donné [ou "y" par défaut] à l'infini - parfait pour ces situations où l'on veut juste fournir une réponse "oui" à tout ce qu'un programme pourrait demander). yes
est plus court, et devrait ssh-keygen
jamais ajouter une question, qui sera automatiquement répondue aussi. :)
une version avec mot de passe est:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
La source est http://linux.die.net/man/1/ssh-keygen
D'accord avec Michel Marro sauf qu'il en faut encore plus: si le fichier existe déjà, il sera toujours interactif en demandant s'il doit l'écraser.
Utilisez la réponse à cette 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.
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -e
émet autre chose que -e
du tout, ce qui n'est pas ssh-keygen
disponible partout ).
ssh-keygen -N ''
dans le cadre d'une procédure d'installation automatisée, et il ne lit pas du tout stdin, il n'est donc pas nécessaire que la echo
( aucune echo
variante) y soit envoyée. (Certes, je crois que stdin est connecté à /dev/null
dans mon cas d'utilisation de production; il pourrait bien y avoir un comportement différent lorsqu'il est attaché à un TTY, mais la meilleure réponse est </dev/null
plutôt que echo ... |
)
$ ssh-keygen -t rsa -N '' Generating public/private rsa key pair. Enter file in which to save the key (/home/dlyons/.ssh/id_rsa):
Il est recommandé d'utiliser ed25519 pour la sécurité et les performances.
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
ici
-o
Format de clé OpenSSH au lieu de l'ancien 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 phase de passe vide
et yes "y"
pour aucune interaction.
Il générera deux fichiers
/mypath/bla
/mypath/bla.pub
où le bla
fichier est privé et bla.pub
public.