如何将已经生成的 SSH 密钥添加到 git bash?

Sam*_*lam 10 git ssh bash putty ssh-keys

我有一个 SSH 密钥保存在D:/keys folder. 我想将它添加到我的 git bash 中。我找到的所有教程都是如何使用 gitbash 生成 SSH 密钥并将其加载到 github/gitlab。我使用 puttygen 生成了我的 SSH 密钥。现在我想将它添加到我的 git bash 中,以便我可以从远程克隆一个存储库。我怎样才能做到这一点?

Rob*_*gel 11

在 Windows 上,您可能需要像这样启动 ssh 代理

# start the ssh-agent in the background
$ eval $(ssh-agent -s)
> Agent pid 59566
Run Code Online (Sandbox Code Playgroud)

将您的 SSH 私钥添加到 ssh-agent。如果您使用不同的名称创建了密钥,或者如果您要添加具有不同名称的现有密钥,请将命令中的 id_rsa 替换为您的私钥文件的名称。

$ ssh-add <path/to/key>

在“将您的 SSH 密钥添加到 ssh-agent”下从这里获得此信息:https : //help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to- the-ssh-agent#adding-your-ssh-key-to-the-ssh-agent

  • 它有效,但如何使其永久化?每次重新启动 git bash 时我都必须重复 (6认同)

小智 8

假设您要导入到 git bash 的私钥文件是,D:/keys folder/myprivatekey并且您的 Git 安装在其中D:/Git(您将在哪个文件夹中看到二进制文件git-bash.exe),打开文件D:/Git/etc/ssh/ssh_config.

以下是该文件中的一些文本:

...
# StrictHostKeyChecking 询问
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# 端口 22
...

只需添加一个新行并保存即可:

...
# StrictHostKeyChecking 询问
IdentityFile "D:/keys 文件夹/myprivatekey"
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# IdentityFile ~/.ssh/id_ecdsa
# IdentityFile ~/.ssh/id_ed25519
# 端口22
...

并且密钥已经添加。


小智 5

我认为 gitbash 本身没有任何特定的配置。您必须将密钥放在默认位置~\.ssh/id_rsa,它将被使用。如果您需要在其他地方使用它,您可以使用与 Linux 上相同的配置文件来实现~/.ssh/config

host example.com
 HostName example.com
 IdentityFile ~/.ssh/id_rsa
 User git
Run Code Online (Sandbox Code Playgroud)

不要忘记设置权限 chmod 400 ~/.ssh/id_rsa