【问题标题】:Git configuration on windows for ssh access to Github用于 ssh 访问 Github 的 windows 上的 Git 配置
【发布时间】: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


    【解决方案1】:

    好的, 和以前一样,我回答了我自己的问题:D

    经过更多研究,我发现this post 解释了如何在 Git 本地配置文件中指定用于 git sh 连接的 ssh 密钥。

    命令很简单,在上面解释的情况下,在项目目录中的以下内容:

    git config core.sshCommand "ssh -i ~/.ssh/git_id_rsa -F /dev/null"
    

    这样,git_id-rsa 将被 git 用于此特定项目的 ssh 连接(因为它是本地配置)。 感谢您的阅读。

    【讨论】:

    • 在尝试不同的 SO 答案一小时后,这就是有效的方法!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 2011-01-30
    相关资源
    最近更新 更多