Как я могу изменить каталог, в который выводится ssh-keygen?

56

Я хочу выполнить команду как:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Насколько я понимаю, ssh-keygen выводит в домашний каталог. Я работаю на сетевом компьютере, используя Git Bash (Windows, MYSS MINGW64), где домашний каталог - тот, к которому у меня нет доступа. Я изменяю домашний каталог следующим образом:

export HOME=C:/Users/myusername

так что теперь, когда я вхожу:

echo $HOME

это говорит:

C:/Users/myusername

но когда я снова пытаюсь запустить команду ssh-keygen, она запускается в каталоге, к которому у меня нет доступа. Я просмотрел файл профиля для какого-то жесткого пути, но ничего не могу найти. Как мне изменить его, чтобы он указывал на каталог, к которому у меня есть доступ?

Флокс Мидас
источник
Такое же поведение происходит в Ubuntu (изменение HOMEне влияет на каталог по умолчанию для ssh-keygen). Хотя указание каталога явно работает, мне было бы интересно узнать, почему ssh-keygenне используется просто так, $HOME/.sshкак HOMEопределено в настоящее время.
Натан

Ответы:

88

Вы должны быть в состоянии сделать это, указав имя выходного файла с помощью -fопции, например,

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f $HOME/.ssh/id_rsa

Конечно, это действительно помогает, если каталог вывода уже создан.

Для дальнейшего чтения:

Томас Дики
источник
Весьма признателен. Я пропустил опцию -f. Я только что создал новую папку с mkdir .ssh в моем HOME и выполнил команду, которую вы сказали. Большое спасибо.
Флокс Мидас