Превосходное слияние SSH, когда ключ имеет пароль - PullRequest
0 голосов
/ 10 декабря 2018

Когда я пытаюсь клонировать репо, я получаю git failed with exit code 128.

. Также, когда я пытаюсь толкать / тянуть, я получаю git@gitlab.com public key denied.

В моем ~ / .sshпапка У меня есть config файл, который выглядит следующим образом:

Host mycompany.gitlab.com
    HostName gitlab.com
    User git
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab-company-bryan

git в терминале работает нормально, но Sublime Merge Я получаю ошибки разрешений.

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

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Для тех, кто заинтересован, я начал работать с Ubuntu 18.04, сначала запустив ssh-agent из командной строки, затем добавив мой ключ к ssh-agent с помощью команды 'ssh-add', а затем из того же открытого tty., запустите Sublime Merge в текущем каталоге с помощью следующей команды: smerge . &

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

0 голосов
/ 11 декабря 2018

git в терминале работает нормально, но Sublime Merge Я получаю ошибки прав доступа.

Первое:

Закрытый ключ был создан с помощью Git 2.19.2,имеется в виду openssh 7.8+, который только что изменил формат по умолчанию для своего закрытого ключа, с PEM (64 символа в строках) на «OPENSSH» (70 символов в строках).
См. « Jenkins: какой правильный формат?для секретного ключа в Credentials"

Попробуйте и заново сгенерируйте закрытый ключ (и зарегистрируйте его в GitLab), но на этот раз с:

ssh-keygen -m PEM -t rsa -P "" -f mynewkey

То есть исключить любую интерпретациюSublime Merge выдает ошибку этого ключа.

Во-вторых, , как обсуждается здесь OP , закрытые ключи SSH с парольной фразой не поддерживаются, если ssh-agent не настроен должным образомcached сказал парольную фразу.

KeyChain на macOS обрабатывает все для меня (без какой-либо конфигурации ssh; я все еще использую id_rsa по умолчанию для всех моих репозиториев).

OP Брайан подтверждает в комментариях :

Я наконец-то начал работать с:

ssh-add -K ~/.ssh/[your-private-key]

Как объяснено на GitHub :

Опция -K в стандартной версии Apple ssh-add, которая хранит ключевую фразу в вашей цепочке для ключей длявы, когда вы добавляете ssh-ключ к ssh-agent.

...