Я использую windows и cmder, и для терминала по умолчанию задано значение bash для cmder (я полагаю, что любая версия git -for- windows поставляется с cmder).
У меня также есть файл ключа ~ / .ssh / id_ed25519 s sh, защищенный паролем.
Вот мой файл ~ / .ssh / config, хотя я уже попробовал почти все возможные настройки для этого файла.
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519`
Я также пытался
Host *
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_ed25519`
Я работаю над этим очень долго, и, похоже, на самом деле нет никакой хорошей информации об этой топике c. Независимо от того, как я это настроил, всегда отображается «Git: git@gitlab.com: Permission Denied (publickey)», когда я нажимаю кнопку синхронизации изменений в левом нижнем углу.
Я перепробовал все, что нашел на множестве форумов, включая проверку того, что "remote.SSH.showLoginTerminal
": установлено значение "true
", и выполнение почти всех возможных настроек ~/.ssh/config
.
Когда я запускаю «git pull
» или «git push
» из терминала, он запрашивает у меня пароль к моему ключевому файлу, и я набираю пароль, и он работает нормально.
По какой-то причине всякий раз, когда Я нажимаю кнопку «Синхронизировать изменения». Я получаю ту же ошибку «Git: git@gitlab.com: Permission Denied (publickey).
»
Кроме того, у меня уже запущен агент «s sh» и мой ключевой файл добавлен в агент s sh как личность. Поэтому, когда я набираю «ssh-add -l
», он дает мне правильную информацию о ключевом файле.
Итак, суммируем ключевые факты:
- Когда я запускаю git pull / push / ..., он запрашивает мой пароль и отлично работает
- Когда я нажимаю «Синхронизировать изменения», появляется сообщение об ошибке
Git: git@gitlab.com: Permission Denied (publickey)