Automatiser la commande ssh-keygen -t rsa afin de ne pas demander un mot de passe
J'ai besoin d'automatiser ssh-keygen -t rsa
avec un mot de passe entrer à l'invite de commandes.
Comment puis-je le faire à partir d'un script shell?
Vous devez vous connecter pour publier un commentaire.
Pour générer une paire de clés SSH sans avoir à saisir un mot de passe, vous pouvez effectuer les opérations suivantes:
ssh-keygen: option requires an argument -- N
" 🙁dzdo
de commande en face d'elle, donc j'ai dû écrire:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
est importante. Quand j'ai ajouté l'espace, il a réussi!Si vous avez besoin de le faire à partir de PowerShell dans windows utilisation:
remarque vous devez également assurer le git répertoire bin dans votre path:
Puis de l'utiliser en PoshGit c'est juste:
git\usr\bin
est la bonne dir.ssh-keygen -f $Name -t rsq -N '""'
.'""'
'""'
est la seule variante qui a travaillé pour moi.Juste une correction à la réponse 2...
J'ai trouvé sur mon OL et RHEL système nom du fichier id_rsa pas id.rsa.
Donc sur un OL ou RHEL système, la commande serait:
id_rsa
est le nom de fichier par défaut pour une clé RSA, donc si on veut coller à la valeur par défaut, vous n'êtes pas obligé d'utiliser explicitement l'-f
option.-f
option est de sorte que vous pouvez l'exécuter dans un script. Vous pouvez seulement de réaffirmer la valeur par défaut pour désactiver la subséquente invite.Ce sujet :
Comme indiqué dans
man ssh-keygen
:(c'est-à
openssh-client
paquet dans Debian 9.4 stretch :OpenSSH_6.7p1 Debian-5+deb8u4
)J'avais besoin pour automatiser dans un script bash la commande ssh-keygen et la réponse définitive qui fonctionne bien pour moi:
L'écho de commande avec l'option-e interprète "\n" comme la touche Entrée, mais ne fonctionnent pas avec le mot de passe. Ensuite, à l'aide de l'option-N "" (phrase de passe vide) mot de passe est vide et ne rien demander.
&> /dev/null envoyer le 'stdout' et 'stderr' vers /dev/null si rien n'est imprimé grâce à l'affichage.