PS: Queste istruzioni sono nel contesto di una shell Bash aperta nel sottosistema Linux di Windows 10 e non menzionano il collegamento simbolico di chiavi SSH generate in Windows con Bash su Ubuntu su Windows
1) Aggiorna il tuo .bashrc aggiungendo il seguente in esso
# 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) Quindi corri $ source ~/.bashrc
per ricaricare la tua configurazione.
I passaggi precedenti sono stati presi da https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) Creare un file di configurazione SSH, se non presente. Utilizzare il comando seguente per crearne uno nuovo:.ssh$ touch config
4) Aggiungi seguente 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) Aggiungi la tua chiave all'agente SSH usando il comando $ ssh-add ~/.ssh/id_work_gmail
e poi dovresti essere in grado di connetterti al tuo account github o host remoto usando ssh. Ad esempio nel contesto di esempi di codice sopra:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
o
$ ssh <USER>@csexperimental.abc.com
Questa aggiunta di chiave all'agente SSH dovrebbe essere richiesta per essere eseguita una sola volta.
6) Ora disconnettiti dalla tua sessione Bash sul sottosistema Windows Linux, ovvero esci di nuovo da tutte le console Bash e riavvia una nuova console e prova a SSH sul tuo host Github o altro host come configurato nel file di configurazione SSH e dovrebbe funzionare senza bisogno di alcun extra passi.
Nota:
Grazie.
/my/ssh/location/
equivalente a qualcosa del genere/c/Users/Foobar/.ssh/
?