[英]Git configuration on windows for ssh access to Github
我有一个包含多个项目的 Github 帐户。
我已使用 ssh 密钥将这些项目克隆到我的 windows 10 计算机。
一段时间后,似乎我的 ssh 密钥被泄露,所以我在 Github 和本地删除了我的 ssh,然后重新生成新的:
事实是我想要不同的 ssh 密钥用于我的不同 web 工具(一个用于 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.
按照以下答案,我使用以下内容创建了 ~/.ssh/config 文件(使用 GitHub 的 OpenSSH 密钥),它可以工作:
Host github.com
IdentityFile ~/.ssh/git_id_rsa
事实是,如果我需要 ~/.ssh/config 文件,为什么我需要像上面描述的那样使用 (projecytdir)/.git/config 配置我的本地 git?
我想将我的本地 git 配置为使用 Github 的正确 ssh 密钥,而不必在我的 ~/.ssh/config 文件中解释它。
我确定它(再次)是一个配置问题,我在某个地方错过了一些东西,但我找不到在哪里。
请帮忙:)
谢谢你
好的,和以前一样,我回答我自己的问题:D
经过更多研究,我发现这篇文章解释了如何在 Git 本地配置文件中指定用于 git sh 连接的 ssh 密钥。
该命令很简单,在上面解释的情况下,在项目目录中的以下内容:
git config core.sshCommand "ssh -i ~/.ssh/git_id_rsa -F /dev/null"
这样, git_id-rsa 将被 git 用于此特定项目上的 ssh 连接(因为它是本地配置)。 谢谢你的阅读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.