权限被拒绝(publickey)-在Windows上使用Git Bash

3
我正在我的Windows 10电脑上设置Git Bash,以便与Gitlab一起使用。尽管已正确设置了所有内容,但每次进行git clone或git push操作时,都会出现Permission denied (publickey)错误。
在您说之前,我已经广泛查看了所有类似问题的答案,并且在此基础上,我对这种事情相当有经验。
因此,是的,我生成了全新的SSH密钥对,它们坐落在~/.ssh/下,分别命名为id_rsa和id_rsa.pub。公钥已注册到Gitlab中我的帐户中,该帐户是存储库的主人,并且存储库已存在并已被初始化。
除此之外,我根据Gitlab文档所述执行了测试,使用以下代码:
ssh -T git@gitlab.com
并得到了期望的“Welcome to GitLab,[Given Name]!”消息,这意味着SSH密钥有效(否则,您将看到权限被拒绝的publickey消息)。
尽管如此,任何尝试与实际服务器交互的操作都会导致以下结果:
Permission denied (publickey). fatal: Could not read from remote repository.
是否有任何人遇到过同样的问题,或者有任何其他尝试的想法?大多数人的问题似乎通常可以通过生成新的密钥对或类似的简单方法来解决。
提前致谢!

你的用户名是否已被添加到项目的成员组? - ElpieKay
没错!用户是该项目的大师。 - 3nails4you
1个回答

2

请确保您没有将环境变量GIT_SSH引用putty。

为了调试,请在您的bash会话中设置:

export GIT_SSH_COMMAND='ssh -Tv'

这样,当使用ssh进行git clone时,您将能够准确地看到Git试图访问的内容。


谢谢你提供的关于调试语句的提示。它仍然没有给我太多信息——它正在使用OpenSSH和OpenSSL,仍然只是给我这个: - 3nails4you
调试1:可以继续认证的身份验证方式:公钥 调试1:下一个身份验证方法:公钥 调试1:提供RSA公钥:/c/Users/username/.ssh/id_rsa 调试1:可以继续认证的身份验证方式:公钥 调试1:尝试私钥:/c/Users/username/.ssh/id_dsa 调试1:尝试私钥:/c/Users/username/.ssh/id_ecdsa 调试1:尝试私钥:/c/Users/username/.ssh/id_ed25519 调试1:没有更多的身份验证方法可尝试。 权限被拒绝(公钥)。这让我想到确保我的ssh_config已经正确设置。对格式问题表示抱歉! - 3nails4you
你找到解决方案了吗? 我也遇到了同样的问题。 我已经以多种不同的方式设置了公钥。 - Thadeu Melo
@ThadeuAntonioFerreiraMelo ssh -T git@gitlab.com 能正常工作吗?你有 %USERPROFILE%.ssh\config 文件吗? - VonC
@VonC,我刚刚弄清楚我的密钥出了什么问题。我给它们命名了。当ssh-keygen提示输入名称时,你只需要按回车键即可。我还需要在.ssh目录中。谢谢。 - Thadeu Melo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接