Как настроить доступ к GitLab по SSH под WSL?
Если я помещаю SSH-ключи в директорию C:\Users\User\.ssh\,
то, пытаясь получить доступ к GitLab из Linux-консоли (WSL),
ssh -T [email protected]
я получаю следующий ответ:
Permission denied (publickey).
Как решить эту проблему?
Ответы (1 шт):
Автор решения: Артём Ионаш
→ Ссылка
WSL видит C:\Users\User\.ssh\ как /mnt/c/Users/User/.ssh/, а своей корневой папкой ~ он считает /home/user/.
Эта проблема может быть решена следующим образом:
- Копируем закрытый SSH-ключ (названный, например
gitlab_com_rsa) в папкуC:\Users\User\.ssh\ - Добавляем в файл
C:\Users\User\.ssh\configзапись о ключе для gitlab.com:
# GitLab.com
Host gitlab.com
Preferredauthentications publickey
IdentityFile ~/.ssh/gitlab_com_rsa
- Linux-консоль Windows (WSL) использует отдельную директорию
~/, куда нужно скопировать папку.ssh/:
cp -R /mnt/c/Users/User/.ssh ~/
sudo chmod -R 700 ~/.ssh
- Тестируем доступ к gitlab.com с помощью следующей команды:
ssh -T [email protected]
P.S.
Символические ссылки не позволяют изменить уровень доступа к ним,
поэтому у меня не получилось использовать их для решения этой задачи:
ln -s /mnt/c/Users/User/.ssh/ ~/.ssh
sudo chmod 700 -R ./.ssh
stat -c %a ~/.ssh
777
ssh -T [email protected]
Bad owner or permissions on /home/user/.ssh/config