Как настроить ключ SSH для git в подсистеме Ubuntu Windows 10

481
chef

Я использую Ubuntu Bash (подсистему) на Windows 10 в качестве моей оболочки. У меня есть Gitlab Git репозиторий, который я клонировал. Когда я использую git из этой оболочки, он отделен от моего windows git, и я не могу заставить его использовать мой SSH-ключ. Он просто продолжает спрашивать моего пользователя / пароль. Обратите внимание, что ключ SSH правильно настроен в gitlab.

Я помещаю мои id_rsa и id_rsa.pub в ~ / .ssh / (путь к подсистеме Ubuntu)

Любая идея?

0
запустите ssh-agent с помощью `eval 'ssh-agent -s'`, затем загрузите ваш ключ с помощью` ssh-add`. Если права доступа к файлам и ключ настроен на gitlab, это должно работать. xaa 5 лет назад 0
@xaa, я пробовал раньше, но это не работает. Кстати, ssh-add работает только с `eval \` ssh-agent -s \ ``, а не с `eval 'ssh-agent -s'` (символы разных кавычек). Я могу добавить id_rsa с помощью ssh-add, но git по-прежнему запрашивает user / pass. chef 5 лет назад 0

2 ответа на вопрос

0
chef

ОК, я нашел проблему. Я использовал https://URL для источника вместо SSH URL ( git@gitlab.com:...). После переключения на URL-адрес ssh был использован ключ ssh.

Для просмотра текущих пультов: git remote -v

Чтобы переключить пульт: git remote set-url origin git@gitlab.com:XXXXX

-1
Peredat0r

Используйте эту команду:

ssh-copy-id username@server.domain.com 

Измените пользователя на ваше имя пользователя и укажите целевой пункт назначения, чтобы он скопировал ваш ключ ssh в целевую систему.

Если я правильно понимаю, ssh-copy-id предназначен для добавления ключа на сервер. У меня уже есть ключ на сервере. У меня также это есть на моем устройстве в ~ / .ssh /. Проблема здесь в том, что ключ на моем устройстве не используется. chef 5 лет назад 0
Спасибо @davidbaumann! В следующий раз я буду более точным! Peredat0r 5 лет назад 0
@Chef затем удалите ваш ключ с сервера, возможно, у него возникли проблемы с форматированием, если вы вставили его вручную. эта команда сделает всю работу за вас. :) У меня была та же проблема, и эта команда мне помогла. Peredat0r 5 лет назад 0
Вы также можете добавить `-v`, чтобы он показал вам методы аутентификации, которые он пытается. davidbaumann 5 лет назад 0

Похожие вопросы