如何使用 Visual Studio 2019 使用 ssh 密钥连接到组织的 github 存储库?

Posted

技术标签:

【中文标题】如何使用 Visual Studio 2019 使用 ssh 密钥连接到组织的 github 存储库?【英文标题】:How to connect to an organization's guthub repository using ssh key using Visual Studio 2019? 【发布时间】:2021-10-24 21:26:18 【问题描述】:

我更喜欢使用 ssh 密钥,而且我总是有很多东西要学! 我目前的挑战是: 我正在使用 Visual Studio 2019,并且我的组织的私有存储库位于组织名称下的 guthub 中。 当我尝试以我的组织名称连接到其中一个存储库时,我收到此错误:

permission denied (publickey)

我生成的 ssh 密钥如下:

id_rsa_personal@gmail
id_rsa_work_alias@organization

我在~/.ssh/config 也有一个配置文件,内容如下:

#github personal
Host personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_personal@gmail

#github work
Host work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work_alias@organization

在我的 Visual Studio 2019 中,MenuBar-> Git-> Manage Remotes 下设置为使用 ssh 用于 fetchpush

这是我的 github 仪表板的样子

如您所见,它有两个条目,一个是我的work alias,一个是我的organization

我主要在组织下的存储库上工作。

但是在将 ssh key 内容添加到 github 时,我在我的 work alias 帐户下添加了这样的内容

现在,当我尝试从 Visual Studio 2019 进行提取时,我收到了错误

permission denied (publickey)

检查Your Organizations 菜单选项,我没有看到settings 选项。

那么,就我而言,我是否应该将 Visual Studio 2019 配置为使用 https:// 来执行 git 操作?请澄清

【问题讨论】:

请注意,您的 ~/.ssh/config 条目仅在您尝试连接到地址为 personalwork 的 SSH 服务器时适用。因此 Git URL 必须是:git@work:Organization/api-1.git 【参考方案1】:

要添加到sborsky 的comment,假设一切都在当前用户(~/.ssh/config 的用户)下运行,实际使用的 URL 是:

work:Organization/api-1.git

用户无需重复,~/.ssh/config中已指定

首先检查它是否适用于:

ssh -Tv work

您应该会看到一条错误消息,除非:

您的帐户不属于组织 和/或您未将公钥正确添加到您的 GitHub 帐户。

【讨论】:

以上是关于如何使用 Visual Studio 2019 使用 ssh 密钥连接到组织的 github 存储库?的主要内容,如果未能解决你的问题,请参考以下文章

使 Visual Studio 2019 始终从开始栏以管理员身份运行最近的解决方案列表

使用 Visual Studio 2019 调试未来日期

如何使 Visual Studio 的构建变得非常冗长?

如何使 Visual Studio 架构比较忽略数据库引用

如何在 Visual Studio 2019 中使用 C#10

如何使Visual Studio在项目中包括所有排除的文件