PS: Te instrukcje są w kontekście powłoki Bash otwartej w podsystemie Windows 10 Linux i nie wspominają o łączeniu symboli SSH kluczy generowanych w systemie Windows z Bash w systemie Ubuntu w systemie Windows
1) Zaktualizuj swój .bashrc , dodając w nim następujące
# 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) Następnie uruchom, $ source ~/.bashrc
aby ponownie załadować plik config.
Powyższe kroki pochodzą z https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) Utwórz plik konfiguracyjny SSH, jeśli go nie ma. Użyj następującego polecenia, aby utworzyć nowy:.ssh$ touch config
4) Dodaj następujące do ~/.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) Dodaj swój klucz do agenta SSH za pomocą polecenia, $ ssh-add ~/.ssh/id_work_gmail
a następnie powinieneś być w stanie połączyć się z kontem github lub zdalnym hostem za pomocą ssh. Na przykład w kontekście powyższych przykładów kodu:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
lub
$ ssh <USER>@csexperimental.abc.com
To dodanie klucza do agenta SSH powinno być wymagane tylko raz.
6) Teraz wyloguj się z sesji Bash w podsystemie Windows Linux, tj. Ponownie zamknij wszystkie konsole Bash i ponownie uruchom nową konsolę i spróbuj SSH do swojego hosta Github lub innego hosta skonfigurowanego w pliku konfiguracyjnym SSH i powinno działać bez potrzeby dodatkowego kroki.
Uwaga:
Dzięki.
/my/ssh/location/
porównywalne opcje do czegoś podobnego/c/Users/Foobar/.ssh/
?