PS: Diese Anweisungen beziehen sich auf eine Bash-Shell, die im Windows 10 Linux-Subsystem geöffnet wurde, und erwähnen nicht die Verknüpfung von in Windows generierten SSH-Schlüsseln mit Bash unter Ubuntu unter Windows
1) Aktualisieren Sie Ihre .bashrc, indem Sie Folgendes hinzufügen
# 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) Führen Sie dann aus $ source ~/.bashrc
, um Ihre Konfiguration neu zu laden.
Die oben genannten Schritte wurden von https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch ausgeführt
3) Erstellen Sie eine SSH-Konfigurationsdatei, falls nicht vorhanden. Verwenden Sie den folgenden Befehl, um einen neuen zu erstellen:.ssh$ touch config
4) Fügen Sie Folgendes hinzu zu ~/.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) Fügen Sie Ihren Schlüssel mit dem Befehl zum SSH-Agenten hinzu, $ ssh-add ~/.ssh/id_work_gmail
und dann sollten Sie in der Lage sein, mit ssh eine Verbindung zu Ihrem Github-Konto oder Remote-Host herzustellen. Zum Beispiel im Zusammenhang mit den obigen Codebeispielen:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
oder
$ ssh <USER>@csexperimental.abc.com
Dieses Hinzufügen eines Schlüssels zum SSH-Agenten sollte nur einmal durchgeführt werden müssen.
6) Melden Sie sich jetzt von Ihrer Bash-Sitzung unter Windows Linux Subsystem ab, dh beenden Sie alle Bash-Konsolen erneut und starten Sie eine neue Konsole erneut. Versuchen Sie, SSH auf Ihrem Github-Host oder einem anderen Host durchzuführen, wie in der SSH-Konfigurationsdatei konfiguriert, und es sollte ohne zusätzliche Funktionen funktionieren Schritte.
Hinweis:
Vielen Dank.
/my/ssh/location/
gleichbedeutend mit so etwas/c/Users/Foobar/.ssh/
?