有人看到这个错误并知道该怎么做吗?
我正在使用终端,我在根,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.
当前回答
我在之前的一个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,以为删除它就能解决问题。是的,我知道!:)
其他回答
另一个解决方案:
创建SSH密钥,输入SSH -keygen -t rsa -C "your_email@example.com"这将创建id_rsa和id_rsa。酒吧的文件。
将id_rsa添加到本地计算机的ssh列表:ssh- Add ~/.ssh/id_rsa。
生成密钥后获取pubkey使用:
cat ~/.ssh/id_rsa.pub
你会得到这样的东西:
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAB3NzaC1yc2EAAAADAQABAAACAQCvMzmFEUPvaA1AFEBH6zGIF3N6pVE2SJv9V1MHgEwk4C7xovdk7Lr4LDoqEcqxgeJftwWQWWVrWWf7q9qCdHTAanH2Q5vx5nZjLB+B7saksehVOPWDR/MOSpVcr5bwIjf8dc8u5S8h24uBlguGkX+4lFJ+zwhiuwJlhykMvs5py1gD2hy+hvOs1Y17JPWhVVesGV3tlmtbfVolEiv9KShgkk3Hq56fyl+QmPzX1jya4TIC3k55FTzwRWBd+IpblbrGlrIBS6hvpHQpgUs47nSHLEHTn0Xmn6Q== user@email.com
复制这个密钥(值),到github.com,在设置(ssh和PGP密钥)下添加您的公钥。
我也遇到了这个问题,因为我使用了几个GIT帐户,以及工作和大学的不同帐户,这对我来说很有效:
->进入您的SSH配置
cd ~/.ssh/
vim config
->复制下面的块,并填写您想要推送到/with的主机和用户
Host [Hostname]
User [User]
PubkeyAcceptedAlgorithms +ssh-rsa
HostkeyAlgorithms +ssh-rsa
我得到这个问题的几个主机名,所以现在我有几个这些配置在我的ssh配置文件。
博士tl;
在~ /。ssh / config把
PubkeyAcceptedKeyTypes=+ssh-dss
场景 如果你使用的是openSSH > 7版本,比如在MacBook Pro的触控条上,它是ssh -V OpenSSH_7.4p1, LibreSSL 2.5.0
你也有一个旧的Mac,原来有你的密钥,你放在Github上,这是可能的,这是使用一个id_dsa密钥。OpenSSH v7没有在默认情况下使用这些DSA密钥(包括这个ssh-dss),但是您仍然可以通过将以下代码放入~/.ssh/config中来添加它
PubkeyAcceptedKeyTypes=+ssh-dss
对我有用的来源是这个Gentoo通讯
现在你至少可以使用GitHub,然后将密钥修复到RSA。
我得到了这个错误。原来我刚刚将OSX升级到Sierra,我的旧密钥不再注册了。
一开始我以为是“升级到macOS Sierra会破坏你的SSH密钥并将你锁在自己的服务器之外”
但我避开了这个问题。结果我只需要重新注册我现有的密钥:
ssh-add - k
然后输入密码…完成了!
我在远程主机上使用git pull寻找类似错误消息的解决方案时发现了这个页面:
$ git pull
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我通过ssh -AY remote_hostname从本地计算机连接到远程主机。这不是OP问题的解决方案,但对其他遇到这个页面的人很有用,所以把它贴在这里。
注意,在我的例子中,git pull在我的本地机器上工作良好(也就是说,ssh密钥已经设置,并添加到GitHub帐户等)。我通过将这个添加到~/来解决我的问题。Ssh /config在我的笔记本电脑:
Host *
ForwardAgent yes
然后我用ssh -AY remote_hostname重新连接到远程主机,git拉现在工作了。配置中的更改允许将我的ssh对从本地计算机转发到任何主机。ssh的-A选项实际上是在ssh会话中转发它。点击这里查看更多细节。