git - 添加了 Cygwin ssh key ,但 Git 权限被拒绝(公钥)

标签 git ssh cygwin ssh-agent

我在尝试将 Git 与 Cygwin 结合使用时遇到问题。 我已经生成 ssh key 并将其添加到 GitLab 服务器,并且通过 MINGW64(克隆、 pull 等)一切正常,但我想使用 Cygwin 并发现它不起作用。

虽然我已将生成的 key 副本放入 ~/user/.ssh 文件夹并手动添加 key ,因此“ssh-add -l”将其打印在列表中,但是当我尝试获取存储库(或任何其他服务器命令)我只是得到:

Permission denied (publickey).
fatal: Could not read from remote repository.

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

这看起来像是一个错误,但可能是我做错了什么。 有人遇到这个问题吗?谢谢。

更新:在 Cygwin 中更新 OpenSSH 版本后,描述的问题就消失了。

最佳答案

对我来说,原因是我将我的 ssh key 文件放在 C:\Users\username\.ssh(即 /cygdrive/c/Users/username/.ssh 在 cygwin 中),但实际上,您需要将 ssh key 放在 ~/.ssh 中才能使其工作。它们是两个不同的目录。

在 cygwin 中运行以下命令解决了我的问题。

cp /cygdrive/c/Users/username/.ssh/* ~/.ssh/

请注意,您应该将 username 替换为您的实际用户名。

关于git - 添加了 Cygwin ssh key ,但 Git 权限被拒绝(公钥),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482112/

相关文章:

git - 分支在从另一个上游 rebase 后发生分歧

git - 如何在与本地机器连接不稳定的远程机器上获取、 pull git repo

amazon-web-services - 更改 ec2 实例的 key 对

ssh - net.schmizz.sshj.userauth.UserAuthException : Exhausted available authentication methods

git - 为什么 Git 要将我的行尾更正为 CRLF,即使我希望它们在 LF 中?

git - 如何在 Git 中更改 $HOME 目录

cygwin - Ctrl-c 在 cygwin 中停止工作

c++ - 如何从 Cygwin 构建 Visual Studio 9.0 解决方案并获取构建输出?

bash - cygwin bash 中 CTRL + ARROW 的类似物是什么?

ruby-on-rails - 致命的 : Not a git repository . .. 错误信息