我有一个有多个项目的Github账户。
我已经使用ssh键将这些项目克隆到我的windows 10计算机上。
过了一段时间,我的ssh密钥似乎是妥协的,所以我删除了Github上的ssh,然后在本地重新生成新的:
bits
事实上,对于不同的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拉时,我得到了以下错误:
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文件(使用OpenSSH键进行GitHub),它可以工作:
Host github.com
IdentityFile ~/.ssh/git_id_rsa
事实上,如果我需要~/..ssh/config文件,为什么我需要像上面描述的那样使用(projecytdir)/. git /config配置本地git?
我想将我的本地git配置为对Github使用正确的ssh键,而不必在我的~/.ssh/config文件中解释它。
我确信这是(再次)一个配置问题,我在某个地方遗漏了一些东西,但我找不到哪里。
(请帮助:)
谢谢你
发布于 2021-05-01 15:27:12
好的,和以前一样,我回答我自己的问题:D
经过进一步的研究,我发现了this post,它解释了如何在Git本地配置文件中指定用于git连接的ssh键。
在上面解释的情况下,该命令在项目目录中只需执行以下命令:
git config core.sshCommand "ssh -i ~/.ssh/git_id_rsa -F /dev/null"
这样,git_id-rsa将被git用于这个特定项目上的ssh连接(因为它是一个本地配置)。谢谢你的阅读。
https://stackoverflow.com/questions/67344626
复制相似问题