Como posso alterar o diretório para o qual o ssh-keygen gera?

55

Eu quero executar um comando como:

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

Meu entendimento é que o ssh-keygen envia para o diretório inicial. Estou trabalhando em um computador em rede usando o Git Bash (Windows, MYSS MINGW64), onde o diretório inicial é aquele ao qual não tenho acesso. Eu mudo o diretório inicial da seguinte maneira:

export HOME=C:/Users/myusername

então agora quando eu entro:

echo $HOME

diz:

C:/Users/myusername

mas quando tento novamente executar o comando ssh-keygen, ele é executado no diretório ao qual não tenho acesso. Eu procurei no arquivo de perfil por algum caminho codificado, mas não consigo encontrar nada. Como altero para apontar para um diretório ao qual tenho acesso?

Phlox Midas
fonte
Esse mesmo comportamento acontece no Ubuntu (a alteração HOMEnão afeta o diretório padrão para ssh-keygen). Embora especificar o diretório funcione explicitamente, eu estaria interessado em saber por ssh-keygenque não usar apenas $HOME/.sshcomo HOMEestá definido atualmente.
Nathan

Respostas:

87

Você deve conseguir fazer isso especificando o nome do arquivo de saída com a -fopção, por exemplo,

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

Obviamente, isso realmente ajuda se o diretório de saída já tiver sido criado.

Para leitura adicional:

Thomas Dickey
fonte
Muito grato. Eu ignorei a opção -f. Acabei de criar uma nova pasta com mkdir .ssh na minha HOME e executei o comando que você disse. Muito obrigado.
Phlox Midas