通过 ssh-config 访问 git 存储库

通过 ssh-config 访问 git 存储库

我试图从 cygwin 推送到我的 git 存储库,但徒劳无功。它曾经有效。我明白了

$ git push
ssh: Could not resolve hostname prooftheory: Name or service not known
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

现在,我的 ssh-config 文件对我来说是可读的

-rwxrwxr--+ 1 user Tartományfelhasználók 230 Dec 10  2015 /cygdrive/c/Users/user/.ssh/config

它包含

Host phd
    HostName bitbucket.org
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes
    User git

Host prooftheory
    HostName bitbucket.org
    IdentityFile ~/.ssh/pt_rsa
    IdentitiesOnly yes
    User git

.git/config 包含以下内容:

[remote "origin"]    
        url = ssh://git@prooftheory/gergely_/prooftheory.git
        fetch = +refs/heads/*:refs/remotes/origin/*

我可以 ping bitbucket.org 。 。我在这里缺少什么?

编辑

https://serverfault.com/questions/518729/cygwin-ssh-issue-could-not-resolve-hostname-awshost1-hostname-nor-servname-pro

说 cygwin 可能会从其他地方获取 ssh 配置信息,但不清楚如何配置 git 使用 ~/.ssh/config。我将该配置复制到 ~/.ssh/ssh_config 但这没有帮助。不幸的是, ssh -vvv 不会写入它读取的配置文件。

答案1

首先我必须创建一个符号链接

/home/user

/cygdrive/c/Users/user

和以下

https://serverfault.com/questions/253313/ssh-hostname-returns-bad-owner-or-permissions-on-ssh-config

做一个

chmod 600 ~/.ssh/config

它成功了。

我仍然得到

key_load_public: invalid format

错误,但尽管如此,它现在可以工作了。

答案2

您可以将 gitGIT_SSH变量与类似的东西一起使用GIT_SSH="ssh -F ~/.ssh/config"(并根据您的 Windows 设置调整路径)。

相关内容