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.key
Weist 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-keygen
fallen 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 _rsa
Schlüsseldatei überschreiben möchten (daher müssen ay oder n angegeben werden)
yes ""
anstelle von empfehlen echo -e "\n\n\n"
( yes
gibt 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). yes
ist kürzer und sollte ssh-keygen
jemals 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 -e
etwas anderes als -e
überhaupt ausgegeben wird , was nicht überall ssh-keygen
verfü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/null
in 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/null
eher 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 bla
Datei privat und bla.pub
öffentlich ist.