我在尝试将 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/