SmartGit не будет аутентифицироваться с помощью ssh

У меня есть веб-сервер с установленным gitolite, и я вхожу в систему, используя свой ключ ssh. Обычно я просто использую git на самом сервере с помощью командной строки, но для нового проекта мне нужно клонировать репозиторий на моем компьютере с Windows, и я хотел бы использовать для этого SmartGit.

Но я уже потратил несколько часов только на то, чтобы клонировать репо через Smartgit. В качестве удаленного Git я использую URL-адрес, который обычно использую на сервере: me@my-server:the-repo, затем через некоторое время я получаю диалоговое окно «Аутентификация SSH» и выбираю свой закрытый ключ, как я сделал бы для pagent , и введите мою парольную фразу. Но когда я нажимаю «Войти», он просто пытается подключиться на некоторое время, а затем снова показывает мне диалоговое окно «Аутентификация SSH». Никаких сообщений об ошибках или чего-то подобного.

Я попробовал клонировать репозиторий с теми же данными через командную строку, и это прекрасно работает. Так есть что-то, что мне не хватает?


person dazz    schedule 09.01.2012    source источник


Ответы (6)


Необходимо сохранить мой закрытый ключ ssh как ключ OpenSSH в PuTTYgen, потому что SmartGit понимает только тот формат.

person dazz    schedule 09.01.2012
comment
Это странно, но если вы нажмете PuTTYgen Сохранить закрытый ключ или Сохранить открытый ключ, это не сработает. Вам нужно сохранить через меню Конверсии → Экспорт ключа OpenSSH. Этот файл будет принят - person Adobe; 11.05.2017
comment
в Windows вы также можете переключиться на внутренний инструмент SSH в настройках SmartGit — он запрашивает пароли ключа ssh и просто работает - person dkocich; 07.03.2020

Да это оно!

Я просто хочу вдаваться в подробности, чтобы помочь тем, кто начинает с нуля:

в Windows вы можете выполнить следующую процедуру:

  1. Установите msysgit из здесь
  2. Чтобы сгенерировать пару открытого/закрытого ключа, необходимую многим серверам git (например, Assembla), используйте PuTTYgen, который вы найдете здесь: нажмите Создать и двигайте мышью, пока не появится сообщение о том, что ключ сгенерирован . При желании введите парольную фразу для защиты вашего закрытого ключа.
  3. Сохраните или скопируйте открытый ключ по своему усмотрению.
  4. Сохраните закрытый ключ для использования в SmartGit с помощью голосового меню Конверсии/Экспорт ключа OpenSSH.
  5. Используйте последний файл для аутентификации в SmartGit
person mmmx    schedule 09.01.2012

Если вы хотите использовать шпатлевку в качестве ssh-клиента, выполните следующие действия:

  1. Правка|Настройки|Команды|Аутентификация, выберите Use System SSH Client
  2. В системных переменных Windows установите GIT_SSH=plink (где местонахождение шпатлевки plink.exe)

После этого используйте конкурс и загрузите закрытый ключ.

person new2cpp    schedule 19.10.2016

Мне было проще изменить SmartGit | предпочтение | Команды | Исполняемые файлы использовать «C:\Program Files (x86)\Git\bin\git.exe», а затем установить GIT_SSH=plink в системной оболочке.

person rjwirth    schedule 29.04.2013

Если вы используете SmartGit в MacOS X, эта проблема приводит к отображению неожиданного диалогового окна в Finder:

"SSH - Enter passphrase for key '/Users/username/.ssh/id_rsa':"

И он появляется при запуске SmartGit. Это выглядит так:

Подсказка пароля SmartGit SSH

Странно и сбивает с толку то, как выглядит диалоговое окно Finder без какой-либо ссылки на SmartGit. Обычно это вызвано тем, что пароль ключа SSH не хранится в приложении Keychain Access. Вот где SmartGit будет его искать. Вам нужно будет добавить его туда, например:

ssh-add -K ~/.ssh/id_rsa    (assuming id_rsa is your private key file)

Приведенная выше команда иногда требуется после перезагрузки компьютера. См. также эти руководства:

person Mr-IDE    schedule 16.01.2017
comment
У меня такая проблема после каждой перезагрузки, кто-нибудь знает, почему это происходит и как предотвратить это раз и навсегда? - person Dzmitry Vasilevsky; 08.11.2018
comment
Неважно, я нашел ответ здесь apple.stackexchange.com/a/264974 - person Dzmitry Vasilevsky; 08.11.2018

  1. сгенерировать закрытый ключ PEM

ssh-keygen -t rsa -b 4096 -m PEM

(добавьте открытый ключ на свой хост git)

  1. клонировать (или повторно клонировать) ваш проект из пользовательского интерфейса smargit,

(В моем случае мне пришлось удалить свой локальный проект, а затем клонировать его из smargit, я не смог заставить его работать с существующим локальным проектом, smartgit всегда говорил мне, что закрытый ключ (id_rsa) неверен или парольная фраза была неправильно, мне понадобился один день, чтобы добиться успеха, я так ненавижу смартгитов!!!)

person Nicolas    schedule 14.12.2020