PS: Эти инструкции относятся к оболочке Bash, открытой в Windows 10 Linux Subsystem и не упоминают о символьных ссылках SSH-ключей, сгенерированных в Windows с помощью Bash в Ubuntu в Windows
1) Обновите ваш .bashrc , добавив в него следующее
# 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) Затем запустите, $ source ~/.bashrc
чтобы перезагрузить ваш конфиг.
Вышеуказанные шаги были сделаны из https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch
3) Создайте файл конфигурации SSH, если его нет. Используйте следующую команду для создания новой:.ssh$ touch config
4) Добавить следующее к ~/.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) Добавьте ключ к агенту SSH, используя команду, $ ssh-add ~/.ssh/id_work_gmail
и тогда вы сможете подключиться к вашей учетной записи github или удаленному хосту, используя ssh. Например, в контексте приведенных выше примеров кода:
$ ssh github.com-<YOUR_GITHUB_USERNAME>
или
$ ssh <USER>@csexperimental.abc.com
Это добавление ключа к агенту SSH должно выполняться только один раз.
6) Теперь выйдите из сеанса Bash в подсистеме Windows Linux, то есть снова выйдите из всех консолей Bash и снова запустите новую консоль и попробуйте подключиться к SSH к вашему хосту Github или другому хосту, как настроено в конфигурационном файле SSH, и он должен работать без каких-либо дополнительных шаги.
Примечание:
Спасибо.
/my/ssh/location/
equalivent к чему - то вроде/c/Users/Foobar/.ssh/
?