如何在 Windows 上为 SourceTree、终端和 IDE(例如 IntelliJ 和 Eclipse)配置 SSH 密钥?

the*_*_mr 19 git ssh atlassian-sourcetree

如何配置 SSH 密钥以与 SourceTree、终端以及 Windows 上的 IntelliJ 和 Eclipse 等 IDE 一起使用?

这让我抓狂了一段时间,经过大量研究和反复试验,我最终得出了以下结论。我想我会在这里分享,以供我自己和其他人将来参考。

小智 28

(从导航栏)工具->选项->常规->SSH 客户端配置

将链接添加到您的驱动器上的私钥。

注意:我没有使用 puTTY 而是使用 OpenSSH,所以我必须更改 SSH 客户端:

在此输入图像描述


the*_*_mr 6

所有文件都保存在 C:\Users\windows-username\.ssh 中(默认 .ssh 位置)

使用 PuTTYgen 创建 SSH 密钥(注意:这是 PuTTY 的一个单独的实用程序)

从底部选择密钥类型(例如 RSA、ED25519)。单击“生成”并按照屏幕上的说明移动鼠标(使密钥随机)。

您现在将生成公钥和私钥。现在需要保存这些。

保存私钥

保存私钥(将另存为 .ppk 文件)。这样您将来就可以轻松地重新加载密钥,并与 SourceTree 或任何其他使用 pageant 的实用程序一起使用。

导出打开 SSH 密钥

还可以使用“转换”->“导出 OpenSSH 密钥”来生成可在终端或 IDE 中使用的私钥。

在 .ssh 文件夹中创建配置文件

在 .ssh 文件夹中创建一个配置文件(文件名config不带扩展名),如下所示:

Host github.com
 Hostname github.com
 User github-user-1
 IdentityFile ~/.ssh/github-user-1-private-key

Host github.com
 Hostname github.com
 User github-user-2
 IdentityFile ~/.ssh/github-user-2-private-key

Host gitlab.com
 Hostname gitlab.com
 User gitlab-user
 IdentityFile ~/.ssh/gitlab-user-private-key
Run Code Online (Sandbox Code Playgroud)

上面的示例展示了如何同时拥有 2 个 GitHub 用户和 1 个 GitLab 用户。

将公钥添加到相关帐户

您需要将公钥(从 PuTTYgen 窗口复制并粘贴)添加到您的在线帐户。在线查找有关如何执行此操作的文档。

终端和 IDE 使用

您现在应该能够从终端或通过 IDE 集成使用 Git。它会询问您的私钥密码。

源树的使用

要在 SourceTree 中使用,您需要加载 Pageant(在系统托盘中加载 - 戴着帽子的小型计算机)。右键单击 -> 添加密钥或打开,添加密钥。加载 .ppk 文件并输入您的私钥密码。

  • 哪里可以学到这一切?自从 github 关闭了使用密码的功能以来,我一直很难让 sourcetree 在不同帐户的 ssh 密钥之间切换。作为密码的令牌也无法进行身份验证,很可能是因为我想我在某处读到过 2fa。无论如何,我可以看到您所说的这些信息,特别是关于将来绝对需要配置文件的信息。 (2认同)