【发布时间】:2021-05-01 09:16:43
【问题描述】:
我有一个拥有多个项目的 Github 帐户。
我已使用 ssh 密钥将这些项目克隆到我的 Windows 10 计算机。
一段时间后,我的 ssh 密钥似乎被泄露了,所以我在 Github 和本地删除了我的 ssh,然后重新生成新的:
- 4096 位
- rsa2
- 将 pub 保存为 ~/.ssh/git_id_rsa.pub
- 将 pub 密钥添加到我的 Github ssh 密钥中
- 将 priv 保存为 ~/.ssh/git/git_id_rsa.ppk
- 转换为 Openssh 格式为 ~/.ssh/git_id_rsa
事实上,我想要为我的不同 Web 工具使用不同的 ssh 密钥(一个用于 GitHub,一个用于 DigitalOcean,一个用于 OVH 云等),并且我想指定在连接到每个主机时使用的女巫密钥。这就是为什么我更改使用 PuttyGen 生成的 ssh 的默认名称(并使用相同的转换)。
我在 git_id_rsa.ppk(也没有 git_id_rsa)密钥上没有密码,因为 GitHub 似乎不喜欢它们(很久以前看到的)。
我已经像下面这样配置了我的 (projecytdir)/.git/config :
[remote "origin"]
url = git@github.com:hdGuild/JenkinsServerOnDO.git
fetch = +refs/heads/*:refs/remotes/origin/*
identityfile= ~/.ssh/git_id_rsa
但是当我尝试 Git Pull 时,出现以下错误:
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
在the following answers 之后,我使用以下内容创建了 ~/.ssh/config 文件(使用 GitHub 的 OpenSSH 密钥),它可以工作:
Host github.com
IdentityFile ~/.ssh/git_id_rsa
事实是,如果我需要 ~/.ssh/config 文件,为什么我需要像上面描述的那样使用 (projecytdir)/.git/config 配置我的本地 git?
我想将我的本地 git 配置为使用 Github 的正确 ssh 密钥,而不必在我的 ~/.ssh/config 文件中解释它。
我确定这(再次)是配置问题,我在某个地方漏掉了一些东西,但我找不到。
请帮忙:)
谢谢你
【问题讨论】:
标签: windows git github ssh configuration