SourceTree в macOS продолжает запрашивать пароль для ключа S SH или зависает, если пароль хранится в связке ключей - PullRequest
1 голос
/ 26 мая 2020

Я с радостью использую SourceTree на своем Ma c в течение многих лет и редко сталкивался с проблемами. Через пару недель go после обновления macOS вдруг вообще перестал работать. Всякий раз, когда я пытаюсь клонировать / извлекать / нажимать / тянуть / что угодно в любой из моих Git репозиториев, SourceTree либо

  1. продолжает запрашивать мой пароль ключа S SH поверх и снова сразу после того, как я ввожу его (если я не сохраню его в цепочке для ключей), или
  2. просто навсегда зависает в окне выполнения, если пароль хранится в цепочке для ключей.

Это не проблема с репозиториями. Это происходит и с Github, с теми же репозиториями и настройками, которые работали раньше. У ключа есть chmod 400, как и раньше, и это ключ по умолчанию ~ / .ssh / id_rsa. Пробовал использовать встроенный Git в SourceTree и System Git, но безуспешно. Другое приложение, на которое я тем временем переключился, работает нормально.

Я не могу вспомнить, какое именно обновление macOS вызвало проблемы, но сейчас я использую последнюю версию macOS Catalina 10.15.4 и SourceTree 4.0.1. Я полностью вытер диск и переустановил все с нуля из-за другой проблемы, но это все еще не работает. Я не смог найти ничего о новых ограничениях доступа, которые мешают SourceTree получить доступ к самому ключу, или о том, как я мог бы разрешить доступ, если это так. Это сводит меня с ума, я тем временем переключился на другое приложение, но мне бы очень хотелось продолжить использование SourceTree, если оно позволяет мне. Я использую SourceTree на macOS. Все репозитории также используются другими людьми, это также работает для меня на моем Ma c, когда я использую другое приложение. Даже SourceTree для Windows на другом моем ноутбуке, все они работают с одним и тем же ключом.

Ответы [ 2 ]

2 голосов
/ 27 мая 2020

Спасибо за полезный ответ и комментарии. Оказывается, SourceTree не добавляет отпечатки серверов в файл ~ / .ssh / known_hosts и автоматически завершает работу.

Простое исправление - перейдите в папку репо в командной строке и запустите простой git команду, например:

git fetch origin --dry-run

Ничего не произойдет, так как это запуск dry, но исполняемый файл git спросит, нормально ли соединение с сервером, и добавит его в файл known_hosts.

1 голос
/ 26 мая 2020

Я столкнулся с подобной проблемой пару месяцев go, и это сработало для меня. * Открытый доступ к связке ключей * В разделе «Логин / пароли» найдите пароль приложения SourceTree * Выберите пароль, щелкните правой кнопкой мыши и удалите пароль

На этот раз, когда я ввел пароль для SourceTree, приложение приняло пароль без каких-либо проблем и был сохранен в связке ключей.

Я сделал несколько вещей, которые в первую очередь могли способствовать возникновению этой проблемы. Я обновил свою macOS. Примерно в то же время я также включил двухфакторную аутентификацию в Github. Возможно, конфликт между сохраненным паролем в связке ключей и паролем, который я предоставил после обновления, вызвал проблему. Надеюсь, это поможет.

...