Подтвердить что ты не робот

Недопустимые ключи SSH на GitKraken

Хорошо, поэтому у меня есть репозиторий git где-то на сервере в другой комнате, и я раньше использовал SourceTree, но это так раздражало проблему index.lock, и, по-видимому, это самая распространенная проблема, большинство разработчиков сталкивается с SourceTree. Хотя я обнаружил, что он исправит себя, если я подожду несколько минут до полутора дней, но у меня нет времени ждать, и я думаю, что он побеждает цели использования клиента git вообще.

Но дело не в SourceTree... Итак, я нашел GitKraken, и это выглядит круто, и у меня никогда не было проблемы с index.lock. Единственная проблема - я не могу нажать и вытащить на свой сервер в другой комнате. Я сконфигурировал свои ключи ssh и это. Я могу нажать/вытащить на счет github/bitbucket, но не следующую комнату. Если когда-либо вы столкнулись с такими проблемами или когда-нибудь у вас будет небольшая идея о том, как я, возможно, смогу решить свою проблему, сообщите мне об этом. Я уже связался с группой поддержки, но ответа очень мало.

4b9b3361

Ответ 1

Кажется, что на моем mac, если я не запускаю ssh-add -k ~/.ssh/id_rsa тогда я получаю ошибки о наличии плохого ключа ssh.

Это также, похоже, работает на Ubuntu (18.04).

Ответ 2

В macOS у меня была пара Private/Public key, и GitKraken успешно использовал ее для передачи в хранилище битовых корзин. Файл открытого ключа ~/.ssh/id_rsa.pub формат похож на ответ Джоша Паттерсона:

ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==

Я создал второй репозиторий Bitbucket. В какой-то момент gitKraken больше не мог продвигаться к первому репо. Я все еще мог сделать толчок к первому репо из командной строки терминала, вводя фразу-пароль вручную.

GitKraken сказал: "Сконфигурированный ключ SSH имеет недопустимый формат. Пожалуйста, убедитесь, что ваш ключ действителен и является ключом типа RSA".

Как и в ответе Coming Sun, я перешел к GitKraken Preferences/Authentication/General. В отличие от ответа Coming Sun, у меня уже был закрытый/открытый ключ, и я не хотел создавать новую пару. Вместо этого я выбрал "Использовать локальный агент SSH". Это исправил GitKraken для меня.

Ответ 3

Уже много ответов, и я думаю, что большинство из них очень полезны. Я все еще добавлю сюда дополнительную информацию, потому что я не думаю, что какой-либо ответ на самом деле решает проблему полностью.

Это то, что я сделал, чтобы решить это с самого начала, сидя на MacOS.

  1. Запустите ssh-keygen для генерации ключей. Я предоставил пароль.
  2. Запустите ssh-add -K ~/.ssh/id_rsa, чтобы сохранить мою личность внутри моего локального агента ssh. Это важно. Обратите внимание, что это прописная буква -K, что означает, что я тоже хочу сохранить свою парольную фразу внутри локального агента ssh, это заставит его хранить мою парольную фразу в цепочке для ключей, поэтому мне не нужно повторно - входите в нее постоянно, очень аккуратно!
  3. В Gitkraken перейдите в "Настройки → Аутентификация... → Общие"
  4. Проверьте "Использовать локальный агент SSH". Это скажет Gitkraken использовать моего агента на шаге 2. Если вы этого не сделаете, Gitkraken будет использовать свой собственный ssh-агент, и я думаю, что это является причиной проблем для большинства людей
  5. Добавьте свой открытый ключ ~/.ssh/id_rsa.pub на свой сервер (bitbucket.org, azure devops, github или w/e).
  6. Теперь, когда вы делаете git fetch из терминала или делаете git fetch из Gitkraken, это должно сработать. Gitkraken будет использовать собственный ssh-агент вашего компьютера, который мы настроили для успешной аутентификации.

Надеюсь, это поможет некоторым.

Обновление: мне также пришлось включить ssh-add -K ~/.ssh/id_rsa в мой ~/.bash_profile, чтобы он автоматически загружался, иначе вам придется запускать эту команду при каждом перезапуске компьютера.

Ответ 4

  1. GitKraken → Настройки → Аутентификация → Создать новый закрытый/открытый ключ;
  2. добавьте новый открытый ключ на ваш сервер git.

Ответ 5

Я начал работать, используя комбинацию ответа gabeios, а также включив и выключив опцию "использовать локальный агент ssh" (настройки gitkraken> аутентификация> "использовать локальный агент ssh").

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

Ответ 6

Поэтому, если это помогает кому-то другому (или мне когда-то я забыл), похоже, что GIT Kraken очень разборчив в отношении формата открытого ключа и НЕ поддерживает то, что я думаю о стандартном формате. Обычно я вижу ключи, которые выглядят так:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20181204"
AAAAB3NzaC1yc2EAAAABJQAAAQEA5kpsxjtSZ4kMyKIBy0ASQShN/BSAEa7d4lrL
...
hA2TX0L2fLKDkpzCngkDgGbLDxj5dXTN4gpnZdr7lzMciFQu0uhfTLmeYgi1nFOi
KfJ+cQWg3uOHQ0zd8/2GyvfARWy3nZDFoLSQTrbErkX8swZ0Ew==
---- END SSH2 PUBLIC KEY ----

Гит Кракен, похоже, настаивает на этом формате:

ssh-rsa AAAAB3NzaC1yc2...8swZ0Ew==

Вы можете видеть, что это "тот же" ключ, но он должен быть в более простом формате, чтобы Git Kraken был доволен этим.

Спасибо, Джош

Ответ 7

Габейо ответ работает. Чтобы избежать вызова ssh-add -K ~/.ssh/id_rsa в терминале каждый раз, его можно добавить в файл профиля.

Вы можете поместить его в ~/.bash_profile:

поместите ssh-add -K ~/.ssh/id_rsa в ваш ~/.bash_profile

Но для этого необходимо открыть терминал.

В моем случае я добавил его в /etc/profile. Добавьте строку, ssh-add -K ~/.ssh/id_rsa внизу /etc/profile. Вот инструкции в терминале:

  • Изменить разрешение файла, $sudo chmod 644/etc/profile
  • Отредактируйте файл, $sudo nano/etc/profile
  • Добавьте эту строку внизу файла, ssh-add -K ~/.ssh/id_rsa.
  • Закройте и сохраните файл
  • Перезагружать.

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

Ответ 9

Настройки...> Аутентификация

Я просто должен был переключиться на

[] Использовать локальный агент SSH

Вместо использования пути к моему локальному SSH