Antworten:
Versuchen:
ssh-keygen -t rsa -N "" -f my.key
-N "" weist es an, eine leere Passphrase zu verwenden (das gleiche wie zwei der Eingaben in einem interaktiven Skript)
-f my.keyWeist es an, den Schlüssel darin zu speichern my.key( nach Belieben ändern).
Das Ganze läuft, ohne dass Sie Eingabetasten eingeben müssen :)
So senden Sie Eingaben in ein interaktives Skript:
echo -e "\n\n\n" | ssh-keygen -t rsa
ssh-keygenfallen gelassen worden - hast du das wieder hinzugefügt? {bearbeitet} Außerdem - Sie können das Skript nicht mehr als einmal ausführen - werden die Fragen geändert, um zu bestätigen, dass Sie die vorhandene _rsaSchlüsseldatei überschreiben möchten (daher müssen ay oder n angegeben werden)
yes ""anstelle von empfehlen echo -e "\n\n\n"( yesgibt jedes Argument aus, das [oder "y" standardmäßig] im Unendlichen angegeben wird - perfekt für Situationen, in denen nur eine "Ja" -Antwort auf die von einem Programm angeforderten Antworten gegeben werden soll). yesist kürzer und sollte ssh-keygenjemals eine Frage hinzufügen, die automatisch auch beantwortet wird. :)
Eine Version mit Passphrase lautet:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
Quelle ist http://linux.die.net/man/1/ssh-keygen
Stimmen Sie Michel Marro zu, außer dass es noch etwas mehr braucht: Wenn die Datei bereits vorhanden ist, wird sie weiterhin interaktiv sein und fragen, ob sie überschrieben werden muss.
Verwenden Sie die Antwort auf diese Frage .
yes y | ssh-keygen -q -t rsa -N '' >/dev/null
Die Umleitung auf null ist erforderlich, um die Überschreibungsnachricht zum Schweigen zu bringen.
echo -e "\n"|ssh-keygen -t rsa -N ""
echo -eetwas anderes als -eüberhaupt ausgegeben wird , was nicht überall ssh-keygenverfügbar ist).
ssh-keygen -N ''als Teil eines automatisierten Installationsvorgangs und es liest überhaupt nicht stdin, so dass es nicht notwendig ist, die echo( irgendeine echo Variante) darin zu leiten. (Zugegeben, ich glaube, stdin ist /dev/nullin meinem Produktionsanwendungsfall damit verbunden; es könnte durchaus ein anderes Verhalten geben, wenn es an ein TTY angehängt wird, aber die bessere Antwort ist </dev/nulleher als echo ... |)
$ ssh-keygen -t rsa -N '' Generating public/private rsa key pair. Enter file in which to save the key (/home/dlyons/.ssh/id_rsa):
Es wird empfohlen, ed25519 für Sicherheit und Leistung zu verwenden.
yes "y" | ssh-keygen -o -a 100 -t ed25519 -C "Bla Bla" -f /mypath/bla -N ""
Hier
-o OpenSSH-Schlüsselformat anstelle älterer PEM (benötigt OpenSSH 6.5+)
-a Anzahl der Primalitätstests beim Screening von DH-GEX-Kandidaten
-t Schlüsseltyp (ed25519, RSA, DSA usw.)
-f /mypath/bla Der Pfad und Name der Ausgabedatei
-N "" Verwenden Sie eine leere Passphase
und yes "y"für keine Interaktion.
Es werden zwei Dateien generiert
/mypath/bla
/mypath/bla.pub
wo die blaDatei privat und bla.puböffentlich ist.