Ich möchte ein automatisiertes Skript ssh-keygen
erstellen, das einige Pub / Private-Schlüsselpaare aufruft und erstellt, die ich später verwenden werde. Im Prinzip funktioniert alles einwandfrei mit ...
ssh-keygen -b 2048 -t rsa -f /tmp/sshkey -q
... außer dass ich nach der Passphrase gefragt werde, die die Schlüssel verschlüsseln würde. Dies erschwert die Automatisierung.
Ich könnte eine Passphrase über das Befehlszeilenargument bereitstellen -N thepassphrase
, damit die Eingabeaufforderung nicht angezeigt wird. Trotzdem möchte ich nicht einmal die Schlüssel - zusätzlich durch Verschlüsselung gesichert - haben und möchte , dass die Schlüsselpaare Klartext sind.
Was ist eine (beste) Lösung für dieses Problem?
Die -q
Option, die angeblich "leise / still" bedeutet, vermeidet die Interaktion mit der Passphrase immer noch nicht. Auch so etwas habe ich nicht gefunden
ssh-keygen ...... -q --no-passphrase
Bitte fangen Sie nicht an, über das Für und Wider der "fehlenden Passphrase" zu predigen oder mich zu belehren, mir ist das bewusst. In der interaktiven Form (nicht als Skript) kann der Benutzer einfach zweimal [ENTER] drücken und der Schlüssel wird als Klartext gespeichert. Folgendes möchte ich in einem Skript wie diesem erreichen:
#! / bin / bash befehl1 befehl2 var = $ (command3) # Dies sollte das Skript nicht stoppen und nach dem Passwort fragen ssh-kegen -b 2048 -t rsa -f / tmp / sshkey -q
/tmp/sshkey
bereits vorhanden, wird eine Aufforderung zum Überschreiben angezeigt. Dies kann durch Umleiten / Schließen von stdin - zB durch Hinzufügen - verhindert werden0>&-
.