Wie kann ich das Verzeichnis ändern, in das ssh-keygen ausgibt?

54

Ich möchte einen Befehl ausführen wie:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Mein Verständnis ist, dass ssh-keygen in das Home-Verzeichnis ausgibt. Ich arbeite auf einem Netzwerkcomputer mit Git Bash (Windows, MYSS MINGW64), auf das ich keinen Zugriff habe. Ich ändere das Home-Verzeichnis wie folgt:

export HOME=C:/Users/myusername

also jetzt wenn ich eintrete:

echo $HOME

es sagt:

C:/Users/myusername

Wenn ich jedoch erneut versuche, den Befehl ssh-keygen auszuführen, wird er in dem Verzeichnis ausgeführt, auf das ich keinen Zugriff habe. Ich habe die Profildatei nach einem fest codierten Pfad durchsucht, kann aber nichts finden. Wie ändere ich es, um auf ein Verzeichnis zu verweisen, auf das ich Zugriff habe?

Phlox Midas
quelle
Dasselbe Verhalten tritt unter Ubuntu auf (Änderungen wirken HOMEsich nicht auf das Standardverzeichnis für aus ssh-keygen). Obwohl das explizite Angeben des Verzeichnisses funktioniert, würde mich interessieren, warum ssh-keygennicht einfach so verwendet wird, $HOME/.sshwie HOMEes derzeit definiert ist.
Nathan

Antworten:

86

Sie sollten in der Lage sein, dies zu tun, indem Sie den Namen der Ausgabedatei mit der -fOption angeben, z.

ssh-keygen -t rsa -b 4096 -C "[email protected]" -f $HOME/.ssh/id_rsa

Es ist natürlich sehr hilfreich, wenn das Ausgabeverzeichnis bereits erstellt wurde.

Zur weiteren Lektüre:

Thomas Dickey
quelle
Herzlichen Dank. Ich habe die Option -f übersehen. Ich habe gerade einen neuen Ordner mit mkdir .ssh in meinem HOME erstellt und den Befehl ausgeführt, den Sie gesagt haben. Vielen Dank.
Phlox Midas