J'aimerais créer un script automatisé qui appelle ssh-keygen
et crée des paires de clés publiques / privées que j'utiliserai plus tard. En principe, tout fonctionne bien avec ...
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q
... sauf que cela me demande la phrase secrète qui chiffrerait les clés. Cela rend difficile l'automatisation.
Je pourrais fournir une phrase secrète via l'argument de ligne de commande -N thepassphrase
, afin d'éviter que l'invite n'apparaisse. Malgré tout, je ne souhaite même pas que les clés - en plus sécurisées par un cryptage - et que les paires de clés soient en texte clair.
Quelle est la meilleure solution à ce problème?
L' -q
option supposée signifier "calme / silencieux" n'évite toujours pas l'interaction phrase secrète. Aussi je n'ai pas trouvé quelque chose comme ça
ssh-keygen ...... -q --no-passphrase
S'il vous plait, ne commencez pas à prêcher et ne faites pas la leçon aux avantages et inconvénients de la "phrase secrète manquante", j'en suis conscient. Dans le formulaire interactif (pas en tant que script), l'utilisateur peut simplement appuyer sur [ENTRER] deux fois et la clé sera sauvegardée en texte brut. C'est ce que je veux réaliser dans un script comme celui-ci:
#! / bin / bash commande1 commande2 var = $ (commande3) # cela ne devrait pas arrêter le script et demander un mot de passe ssh-kegen -b 2048 -t rsa -f / tmp / sshkey -q
/tmp/sshkey
existe déjà, un message d’écrasement apparaît. Cela peut être empêché en redirigeant / fermant stdin - par exemple en ajoutant0>&-
.