Réponses:
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:
ssh-keygen -f $Name -t rsa -N '""'
notez que vous devez également vous assurer que le répertoire git bin est dans votre chemin:
$sshPath = "<path>\git\bin\"
$env:path += ";$sshPath"
Ensuite, pour l'utiliser dans PoshGit, c'est juste:
Add-SshKey "<path>\.shh\KeyFilename"
git\usr\bin
est le répertoire correct.
ssh-keygen -f $Name -t rsq -N '""'
.
'""'
'""'
est la seule variante qui a fonctionné pour moi.
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:
$ ssh-keygen -f id_rsa -t rsa -N ''
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 :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''
Comme indiqué dans man ssh-keygen
:
SYNOPSIS
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N new_passphrase] [-C comment] [-f output_keyfile]
(...)
-q Silence ssh-keygen.
(soit avec openssh-client
paquet dans Debian 9.4 étirement: OpenSSH_6.7p1 Debian-5+deb8u4
)
J'avais besoin d'automatiser dans un script bash la commande ssh-keygen et la réponse finale qui me convient bien:
echo -e "\n" | ssh-keygen -N "" &> /dev/null
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.
$ printf '\n' | ssh-keygen -N ''