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

How to configure SSH keys on Windows for SourceTree, terminal and IDEs such as IntelliJ and Eclipse?

如何配置 SSH 密钥以与 Windows 上的 SourceTree、终端和 IDE(如 IntelliJ 和 Eclipse)一起工作?

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

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

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

Select 密钥类型(例如 RSA、ED25519)。单击 "generate" 并按照屏幕上的说明移动鼠标(使密钥随机)。

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

保存私钥

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

导出打开的 SSH 密钥

也可以使用 Conversions -> Export OpenSSH key 来生成私钥以供终端或 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

以上示例显示了如何同时拥有 2 个 GitHub 用户和 1 个 GitLab 用户。

向相关帐户添加 Public 密钥

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

终端和IDE使用

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

SourceTree 使用

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

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

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

注意:我没有使用 PuTTY,而是使用了 OpenSSH,所以我不得不更改 SSH 客户端: