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 "your_email@example.com"

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?


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 "your_email@example.com" -f $HOME/.ssh/id_rsa

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

Do dalszego czytania:


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.