Antworten:
Um ein SSH-Schlüsselpaar zu generieren, ohne zur Eingabe einer Passphrase aufgefordert zu werden, haben Sie folgende Möglichkeiten:
$ ssh-keygen -f id_rsa -t rsa -N ''
ssh-keygen: option requires an argument -- N" :(
dzdoKommando davor verwendet habe, also musste ich schreiben:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
-N ''Bedeutung ist. Als ich den Platz hinzufügte, war es erfolgreich!
Wenn Sie dies in Windows unter PowerShell tun müssen, verwenden Sie:
ssh-keygen -f $Name -t rsa -N '""'
Beachten Sie, dass Sie auch sicherstellen müssen, dass sich das Git-Bin-Verzeichnis in Ihrem Pfad befindet:
$sshPath = "<path>\git\bin\"
$env:path += ";$sshPath"
Um es dann in PoshGit zu verwenden, ist es nur:
Add-SshKey "<path>\.shh\KeyFilename"
git\usr\binist das richtige Verzeichnis.
ssh-keygen -f $Name -t rsq -N '""'.
'""'
'""'ist die einzige Variante, die bei mir funktioniert hat.
Nur eine Korrektur, um Antwort 2 zu beantworten ... Ich habe auf meinem OL- und RHEL-System herausgefunden, dass der Dateiname id_rsa und nicht id.rsa sein sollte.
Auf einem OL- oder RHEL-System wäre der Befehl also:
$ ssh-keygen -f id_rsa -t rsa -N ''
id_rsaist dies der Standarddateiname für einen RSA-Schlüssel. Wenn Sie sich also an den Standard halten möchten, müssen Sie die -fOption nicht explizit verwenden .
-fOption darin, dass Sie dies in einem Skript ausführen können. Sie können einfach die Standardeinstellung erneut bestätigen, um die nachfolgende Eingabeaufforderung zu deaktivieren.
Wie wäre es mit :
ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''
Wie in 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.
(das heißt mit openssh-clientPaket in Debian 9.4 Stretch: OpenSSH_6.7p1 Debian-5+deb8u4)
Ich musste den Befehl ssh-keygen und die endgültige Antwort, die für mich gut funktioniert, in einem Bash-Skript automatisieren:
echo -e "\n" | ssh-keygen -N "" &> /dev/null
Der Echo-Befehl mit dem -e interpretiert "\ n" als Eingabetaste, funktioniert jedoch nicht mit der Passphrase. Wenn Sie dann die Option -N "" (leere Passphrase) verwenden, ist das Passwort leer und fordert nichts an. &> / dev / null sendet 'stdout' und 'stderr' an / dev / null, sodass nichts über die Anzeige gedruckt wird.
$ printf '\n' | ssh-keygen -N ''