PS: Essas instruções estão no contexto de um shell Bash aberto no Windows 10 Linux Subsystem e não mencionam as chaves SSH de vinculação simbólica geradas no Windows com Bash no Ubuntu no Windows no Windows
1) Atualize seu .bashrc adicionando o seguinte
# 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) Em seguida, execute $ source ~/.bashrc
para recarregar sua configuração.
As etapas acima foram realizadas em https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) Crie um arquivo de configuração SSH, se não estiver presente. Use o seguinte comando para criar um novo:.ssh$ touch config
4) Adicione o seguinte 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) Adicione sua chave ao agente SSH usando o comando $ ssh-add ~/.ssh/id_work_gmail
e, em seguida, você poderá se conectar à sua conta do github ou host remoto usando o ssh. Por exemplo, no contexto dos exemplos de código acima:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
ou
$ ssh <USER>@csexperimental.abc.com
Essa adição de chave ao agente SSH deve ser executada apenas uma vez.
6) Agora saia da sua sessão do Bash no Windows Linux Subsystem, ou seja, saia de todos os consoles do Bash novamente e inicie um novo console novamente e tente fazer o SSH no seu Github Host ou outro host conforme configurado no arquivo de configuração SSH e deve funcionar sem a necessidade de nenhum extra passos.
Nota:
Obrigado.
/my/ssh/location/
equivalente a algo como/c/Users/Foobar/.ssh/
?