Ich versuche zu telefonieren ssh-keygen
unter Verwendung einer Variablen durch bash
als Eingabe anstelle einer Datei, um einen Fingerabdruck eines öffentlichen Schlüssels zu erhalten. Ich bin mir bewusst, dass ich eine temporäre Datei verwenden könnte, um dieses Problem zu umgehen, aber aus Gründen, die nicht in den Rahmen dieser Frage fallen, möchte ich das nicht.
Diese Methode ist no funktionieren, da die Schlüsseldatei als ungültig eingestuft wird (sie ist mit Sicherheit korrekt)
echo $pubkey | ssh-keygen -lf /dev/stdin
この hace funktioniert, aber nicht mit einer Variablen, sondern mit einer Datei.
ssh-keygen -lf alpha.pub
この hace funktioniert, aber nicht mit einer Variablen, sondern mit einer umgeleiteten Datei.
ssh-keygen -lf /dev/stdin < alpha.pub
Dies bedeutet no funktionieren, weil ich eine zweideutige Umleitung erhalte
ssh-keygen -lf /dev/stdin < $(echo $pubkey)
Ich würde gerne wissen, wie ich ssh-keygen dazu bringe, aus einer Variable mit einem öffentlichen Schlüssel zu lesen, und wenn möglich, eine Erklärung, warum die Umleitungen nicht das tun, was ich denke, dass sie tun sollten. Genauer gesagt, warum die |
verhält sich anders als der <
und warum das dritte Beispiel ein ambiguous redirect
. Ich habe im Internet gesucht, aber viele der Umleitungs-Tutorials scheinen meine Fragen nicht zu beantworten.