PS: Ці вказівки містяться в контексті оболонки Bash, відкритої в підсистемі Windows 10 Linux, і не згадується про сим-посилання 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 Host або іншого хоста, як налаштовано у конфігураційному файлі SSH, і він повинен працювати без необхідності зайвих кроки.
Примітка:
Дякую.
/my/ssh/location/
equalivent до чого - щось на зразок/c/Users/Foobar/.ssh/
?