簡體   English   中英

Visual Studio 2019 中的 SSH Bitbucket 克隆不起作用

[英]SSH Bitbucket Clone in Visual Studio 2019 not working

使用 Visual Studio 2019 克隆 bitbucket 存儲庫不起作用。 我可以使用命令行進行克隆,但不能使用 Visual Studio 2019 Git 擴展。

命令行:

start-ssh-agent.cmd

然后

git clone <ssh url>

這在命令行中工作正常,但是當嘗試使用 Visual Studio 2019(默認 Git 擴展)進行克隆時,我收到此錯誤。

在此處輸入圖片說明

克隆也可以使用 gitbash 命令正常工作。

$ eval ssh-agent -s

$ ssh-add id_rsa

VS git 擴展適用於 https 網址,但不適用於 SSH 網址。

我按照此鏈接創建了密鑰https://confluence.atlassian.com/bitbucketserver067/creating-ssh-keys-979426660.html並更新了 bitbucket 中的密鑰。

你們中的任何人都遇到過這個問題,還是我在這里遺漏了任何步驟來配置 VS 2019 以適用於 SSH Urls?

謝謝

我不將 Bitbucket 與 Visual Studio 2019 一起使用,而是通過 SSH 將 GitLab 與 Visual Studio 2019 一起使用。 但我想程序是一樣的。

我將向您解釋我用於管理用於 GIT(Github、GitLab 等)的 SSH 密鑰的結構。 到目前為止,它總是對我有用,所以也許它也對你有用:)

在您的系統上搜索文件夾%userprofile%/.ssh並在其中創建一個文件夾bitbucket.org 如果您找不到.ssh文件夾,您只需在%userprofile%創建一個即可。 將公鑰和私鑰復制到新創建的文件夾 ( bitbucket.org ) 中。 該文件的名稱應與您在 bitbucket 上的用戶名相同。 私有 ssh 密鑰不應具有任何文件擴展名。 公共 ssh 密鑰應以 *.pub 結尾。

創建文件夾並復制所有密鑰后,您需要在%userprofile%/.ssh創建一個文件config ,內容如下。

# 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

首先檢查您的環境變量(啟動 Visual Studio 時處於活動狀態)

如果您仍有 GIT_SSH 引用鏈接,請將其刪除(並重新啟動 VSCode):默認情況下,適用於 Windows 的最新Git應使用 OpenSSH。

然后,為了測試,設置一個簡化的%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 命令行生成密鑰並將密鑰添加到 ssh 代理。
在此之后,我嘗試使用 Visual Studio 進行克隆並工作。

錯誤:請確保您具有正確的訪問權限或遠程存儲庫存在。

通常發生在兩種情況下。

1)您的互聯網已關閉(是的。它發生了)。

2)這是你的ssh配置。

這不僅僅是生成密鑰,重要的是添加到您的 bitbucket 帳戶。 檢查您是否正確執行此操作。 假設你做得對

ps:每次生成時,密鑰都會更新,因此更新bitbucket帳戶中的新密鑰也很重要。

此外,VS Code 沒有單獨的終端。 如果您使用的是 Windows,它是您的常規 cmd 或 Windows Power Shell,當您使用 linux 時,它是您通過 VS Code 打開的常規 shell 提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM