繁体   English   中英

Git 配置上 windows 用于 ssh 访问 ZE1ADBCBB92C622D0B3E619F9D0703

[英]Git configuration on windows for ssh access to Github

我有一个包含多个项目的 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

事实是我想要不同的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM