¿Cómo puedo cambiar el directorio al que da salida ssh-keygen?

55

Quiero ejecutar un comando como:

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

Entiendo que ssh-keygen sale al directorio de inicio. Estoy trabajando en una computadora en red usando Git Bash (Windows, MYSS MINGW64) donde el directorio de inicio es uno al que no tengo acceso. Cambio el directorio de inicio así:

export HOME=C:/Users/myusername

así que ahora cuando entro:

echo $HOME

dice:

C:/Users/myusername

pero cuando intento nuevamente ejecutar el comando ssh-keygen, se ejecuta en el directorio al que no tengo acceso. He buscado en el archivo de perfil alguna ruta codificada pero no puedo encontrar nada. ¿Cómo lo cambio para que apunte a un directorio al que tengo acceso?

Phlox Midas
fuente
Este mismo comportamiento ocurre en Ubuntu (el cambio HOMEno afecta el directorio predeterminado para ssh-keygen). Aunque especificar el directorio funciona explícitamente, me interesaría saber por qué ssh-keygenno solo se usa $HOME/.sshcomo HOMEse define actualmente.
Nathan

Respuestas:

87

Debería poder hacerlo especificando el nombre del archivo de salida con la -fopción, por ejemplo,

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

Por supuesto, realmente ayuda si el directorio de salida ya se ha creado.

Para más lectura:

Thomas Dickey
fuente
Muy agradecido. Pasé por alto la opción -f. Acabo de crear una nueva carpeta con mkdir .ssh en mi INICIO y ejecuté el comando que dijiste. Muchas gracias.
Phlox Midas