J'ai besoin d'automatiser ssh-keygen -t rsa
sans mot de passe, c'est-à-dire entrer à l'invite.
Comment puis-je faire cela à partir d'un script shell?
164
Pour générer une paire de clés SSH sans être invité à entrer une phrase de passe, vous pouvez effectuer les opérations suivantes:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N
" :(dzdo
commande devant, alors j'ai dû écrire:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''
est significatif. Quand j'ai ajouté l'espace, cela a réussi!Si vous devez le faire à partir de PowerShell dans Windows, utilisez:
notez que vous devez également vous assurer que le répertoire git bin est dans votre chemin:
Ensuite, pour l'utiliser dans PoshGit, c'est juste:
la source
git\usr\bin
est le répertoire correct.ssh-keygen -f $Name -t rsq -N '""'
.'""'
'""'
est la seule variante qui a fonctionné pour moi.la source
Juste une correction pour la réponse 2 ... J'ai découvert sur mon système OL et RHEL que le nom du fichier devrait être id_rsa et non id.rsa.
Ainsi, sur un système OL ou RHEL, la commande serait:
la source
id_rsa
c'est le nom de fichier par défaut pour une clé RSA, donc si vous souhaitez vous en tenir à la valeur par défaut, vous n'êtes pas obligé d'utiliser explicitement l'-f
option.-f
option est que vous puissiez l'exécuter dans un script. Vous pouvez simplement réaffirmer la valeur par défaut pour désactiver l'invite suivante.Qu'en est-il de :
Comme indiqué dans
man ssh-keygen
:(soit avec
openssh-client
paquet dans Debian 9.4 étirement:OpenSSH_6.7p1 Debian-5+deb8u4
)la source
J'avais besoin d'automatiser dans un script bash la commande ssh-keygen et la réponse finale qui me convient bien:
La commande echo avec -e interprète "\ n" comme une touche Entrée, mais ne fonctionne pas avec la phrase de passe. Puis en utilisant l'option -N "" (phrase de passe vide) le mot de passe sera vide et ne demandera rien. &> / dev / null enverra les 'stdout' et 'stderr' à / dev / null afin que rien ne soit affiché sur l'écran.
la source
la source