有人看到这个错误并知道该怎么做吗?
我正在使用终端,我在根,GitHub存储库存在,我不知道现在该做什么。
> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
有人看到这个错误并知道该怎么做吗?
我正在使用终端,我在根,GitHub存储库存在,我不知道现在该做什么。
> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
当前回答
我也遇到了和蝙蝠侠类似的问题。但是,因为我是在/usr/local/src/projectname下运行的,所以不使用sudo是不行的。
只需添加-E标志来保护环境(您的~/。ssh /路径)。
$ sudo -E git克隆git@your_repo
来自man sudo:
- e, preserve-env 指示用户希望预先设置的安全策略 服务于它们现有的环境变量。安全 如果用户没有权限,策略可能会返回错误 保护环境。
其他回答
我在ssh代理中加载了2个Github身份文件。我的个人钥匙和另一把客户项目的钥匙。
我删除了引起混乱的关键:
Ssh-add -d id_rsa_github_somekey . sh
我也遇到了和蝙蝠侠类似的问题。但是,因为我是在/usr/local/src/projectname下运行的,所以不使用sudo是不行的。
只需添加-E标志来保护环境(您的~/。ssh /路径)。
$ sudo -E git克隆git@your_repo
来自man sudo:
- e, preserve-env 指示用户希望预先设置的安全策略 服务于它们现有的环境变量。安全 如果用户没有权限,策略可能会返回错误 保护环境。
这种情况会发生在创建存储库后遵循GitHub指示时。Git将指示您使用以下内容添加遥控器。
Git远程添加源git@github.com:<用户>/<项目>.git
将<>中的内容替换为与您的帐户相关的值。
解决方案是删除.git后缀。添加遥控器的操作如下:
Git远程添加origin git@github.com:<用户>/<项目>
首先,我们需要检查计算机上现有的ssh密钥。打开Terminal并运行:
ls -al ~/.ssh
#or
cd ~/.ssh
ls
这将列出.ssh目录下的文件
最后,根据你所看到的(对我来说是):
github_rsa github_rsa.pub known_hosts
试着设置你的RSA,希望这能解决你的“git推送源”问题
$ ssh-keygen -lf ~/.ssh/github_rsa.pub
注意:RSA证书是密钥配对,所以你会有一个私人和一个公共证书,私人将不会为你访问,因为它属于github(在这种情况下),但公共是一个你可能会错过当这个错误发生(至少是我的情况下,我的github帐户或回购搞砸了,我不得不“链接”公钥,以前生成)
我在之前的一个php项目中使用github。在使用github时,我使用的是ssh而不是https。我把我的机器设置成这样,每次我提交和推送代码时,它会问我的rsa密钥密码。
几天后,我停止了php项目的工作,忘记了我的rsa密码。最近,我开始在一个java项目上工作,并搬到了bitbucket。因为,我忘记了密码,没有办法恢复它,我猜,我决定使用https(推荐)协议的新项目,并得到了同样的错误在问题中询问。
我是怎么解决的?
运行这个命令告诉我的git使用https而不是ssh: Git配置——全局url."https://"。与其使用git: / / 如果有遥控器,移除遥控器 Git远程rm来源 重做一切从git init到git push,它工作!
PS:我还在调试过程中从我的机器上卸载了ssh,以为删除它就能解决问题。是的,我知道!:)