S SH Bitbucket Clone в Visual Studio 2019 не работает - PullRequest
6 голосов
/ 27 января 2020

Клонирование репозитория Bitbucket с использованием Visual Studio 2019 не работает. Я могу клонировать, используя командную строку, но не используя расширение Visual Studio 2019 Git.

Командная строка:

start-ssh-agent.cmd

затем

git clone <ssh url>

Это прекрасно работает в командной строке, но при попытке клонирования с использованием Visual Studio 2019 (расширение по умолчанию Git) я получаю эту ошибку.

enter image description here

Клонирование работает отлично, также используя команду gitbash.

$ eval ssh-agent -s

$ ssh-add id_rsa

VS git расширение отлично работает для URL https, но не использует S SH URL.

Я создал ключ, перейдя по этой ссылке https://confluence.atlassian.com/bitbucketserver067/creating-ssh-keys-979426660.html и обновил ключ в bitbucket.

Кто-нибудь из вас сталкивался с этой проблемой, или я здесь упускаю какие-либо шаги для настройки VS 2019 для работы с S SH Urls?

Спасибо

Ответы [ 3 ]

1 голос
/ 03 февраля 2020

Я не использую Bitbucket с Visual Studio 2019, я использую GitLab с Visual Studio 2019 через S SH. Но я предполагаю, что процедура та же самая.

Я объясню вам структуру, которую я использую для управления ключами S SH, используемыми для GIT (Github, GitLab et c.). До сих пор это всегда получалось для меня, так что, может быть, это подходит и для вас:)

Найдите папку %userprofile%/.ssh в вашей системе и создайте в ней папку bitbucket.org. Если вы не можете найти папку .ssh, вы можете просто создать ее в %userprofile%. Скопируйте publi c и закрытый ключ s sh во вновь созданную папку (bitbucket.org). Имя файла должно совпадать с именем пользователя в bitbucket. Закрытый ключ s sh не должен иметь расширение файла. Ключ publi c s sh должен заканчиваться на * .pub.

После создания папки и копирования всех ключей вам необходимо создать файл config в %userprofile%/.ssh со следующим содержимым .

# Bitbucket
Host bitbucket.org
    Hostname bitbucket.org
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/bitbucket.org/{username}

Вам необходимо заменить {username} на правильное имя файла.

Структура вашей папки должна быть следующей:

  • %userprofile%/.ssh
    • bitbucket.org
      • username
      • username.pub
    • config

Может потребоваться перезапустить Visual Studio 2019 и все терминалы.

HTH

1 голос
/ 29 января 2020

Сначала проверьте ваши переменные среды (активны при запуске Visual Studio)

Если у вас все еще есть ссылка GIT_S SH, ссылающаяся на plink, удалите ее (и перезапустите VSCode): последние Git для Windows следует использовать OpenS SH по умолчанию.

Затем для тестирования установите упрощенный %PATH%:

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\cmd;%GH%\mingw64\bin;%PATH%

Генерация ключа без ключевой фразы (снова (для тестирования), в этом сеансе CMD, с использованием старого формата .

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

Если вы используете файл по умолчанию (без параметра -f), это будет проще .
Если нет, вы можете настроить файл %USERPROFILE%/.ssh/config, как описано здесь .

OP HashCoder добавляет в комментарии :

Я сгенерировал ключ с помощью командной строки gitbash и добавил ключ к агенту s sh.
После этого я попытался клонировать с помощью Visual Studio и работал.

0 голосов
/ 04 февраля 2020

Ошибка: убедитесь, что у вас есть правильные права доступа или существует удаленное хранилище.

обычно происходит в двух сценариях ios.

1) inte rnet не работает (да. это случается).

2) это ваша конфигурация s sh.

это не просто генерация ключа, его важно добавить в вашу учетную запись bitbucket , проверьте, правильно ли вы это сделали. при условии, что вы все сделали правильно

ps: каждый раз, когда вы генерируете, ключ будет обновляться, поэтому важно также обновить новый ключ в вашей учетной записи bitbucket.

также есть нет отдельного терминала для VS Code. если вы используете windows, это ваш обычный cmd или Windows Power Shell, когда вы используете linux, это ваша обычная оболочка, которая открывается через VS Code.

...