Je voudrais créer un script qui s'exécute simplement ssh-keygen -t rsa
. Mais comment y passer 3 fois entrer?
101
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 deecho -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 devraitssh-keygen
jamais ajouter une question, qui sera automatiquement répondue aussi. :)une version avec mot de passe est:
La source est http://linux.die.net/man/1/ssh-keygen
la source
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 .
La redirection vers null est nécessaire pour faire taire le message d'écrasement.
la source
la source
echo -e
émet autre chose que-e
du tout, ce qui n'est passsh-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 laecho
( aucuneecho
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 queecho ... |
)$ 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.
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 videet
yes "y"
pour aucune interaction.Il générera deux fichiers
où le
bla
fichier est privé etbla.pub
public.la source