PD: Estas instrucciones están en el contexto de un shell Bash abierto en Windows 10 Linux Subsystem y no menciona las claves SSH de enlace simbólico generadas en Windows con Bash en Ubuntu en Windows
1) Actualice su .bashrc agregando lo siguiente en él
# Set up ssh-agent
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initializing new SSH agent..."
touch $SSH_ENV
chmod 600 "${SSH_ENV}"
/usr/bin/ssh-agent | sed 's/^echo/#echo/' >> "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
kill -0 $SSH_AGENT_PID 2>/dev/null || {
start_agent
}
else
start_agent
fi
2) Luego ejecuta $ source ~/.bashrc
para recargar tu configuración.
Los pasos anteriores se han tomado de https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) Cree un archivo de configuración SSH, si no está presente. Use el siguiente comando para crear uno nuevo:.ssh$ touch config
4) Añadir siguiente a ~/.ssh/config
Host github.com-<YOUR_GITHUB_USERNAME>
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_work_gmail # path to your private key
AddKeysToAgent yes
Host csexperimental.abc.com
IdentityFile ~/.ssh/id_work_gmail # path to your private key
AddKeysToAgent yes
<More hosts and github configs can be added in similar manner mentioned above>
5) Agregue su clave al agente SSH usando el comando $ ssh-add ~/.ssh/id_work_gmail
y luego debería poder conectarse a su cuenta github o host remoto usando ssh. Por ejemplo, en el contexto de los ejemplos de código anteriores:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
o
$ ssh <USER>@csexperimental.abc.com
Esta adición de clave al agente SSH debe realizarse solo una vez.
6) Ahora cierre la sesión de su sesión de Bash en el subsistema de Windows Linux, es decir, salga de todas las consolas de Bash nuevamente e inicie una nueva consola nuevamente e intente SSH a su Github Host u otro host configurado en el archivo de configuración SSH y debería funcionar sin necesidad de ningún extra pasos.
Nota:
Gracias.
/my/ssh/location/
igual a algo como/c/Users/Foobar/.ssh/
?