Jak mogę zmienić katalog, do którego prowadzi wyjście ssh-keygen?

54

Chcę uruchomić polecenie takie jak:

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

Rozumiem, że ssh-keygen wyprowadza do katalogu domowego. Pracuję na komputerze w sieci przy użyciu Git Bash (Windows, MYSS MINGW64), gdzie katalogiem domowym jest ten, do którego nie mam dostępu. Zmieniam katalog domowy tak:

export HOME=C:/Users/myusername

więc teraz, kiedy wejdę:

echo $HOME

to mówi:

C:/Users/myusername

ale kiedy ponownie spróbuję uruchomić polecenie ssh-keygen, uruchomi się on w katalogu, do którego nie mam dostępu. Przejrzałem plik profilu w poszukiwaniu zakodowanej ścieżki, ale nic nie mogę znaleźć. Jak mogę go zmienić, aby wskazywał na katalog, do którego mam dostęp?

Floks Midas
źródło
To samo zachowanie występuje w systemie Ubuntu (zmiana HOMEnie wpływa na domyślny katalog dla ssh-keygen). Chociaż jawne określenie katalogu działa, chciałbym wiedzieć, dlaczego ssh-keygennie używa $HOME/.sshtak, jak HOMEjest obecnie zdefiniowane.
Nathan

Odpowiedzi:

86

Powinieneś być w stanie to zrobić, określając nazwę pliku wyjściowego za pomocą -fopcji, np.

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

Oczywiście to naprawdę pomaga, jeśli katalog wyjściowy został już utworzony.

Do dalszego czytania:

Thomas Dickey
źródło
Bardzo zobowiązany. Przeoczyłem opcję -f. Właśnie utworzyłem nowy folder z mkdir .ssh w moim HOME i uruchomiłem polecenie, które powiedziałeś. Dziękuję Ci bardzo.
Floks Midas,