我已按照以下说明上传项目。
全球设置:
Download and install Git
git config --global user.name "Your Name"
git config --global user.email tirenga@gmail.com
Add your public key
Next steps:
mkdir tirengarfio
cd tirengarfio
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin git@github.com:tirenga/tirenga.git
git push origin master
但是我收到了这个错误:
权限被拒绝(publickey)。致命: 远程端意外挂断了
答案 0 :(得分:124)
我必须将我的公钥添加到github。 https://help.github.com/articles/generating-ssh-keys
答案 1 :(得分:28)
是的,这是一个公钥问题。 我是 windows 用户,下面的页面可以帮助我解决此问题。
更确切地说,此链接应该有用
https://help.github.com/articles/error-permission-denied-publickey
答案 2 :(得分:28)
创建RSA密钥对后,必须使用以下命令将其添加到SSH:
ssh-add ~/.ssh/id_rsa
或创建rsa密钥对的任何地方。
答案 3 :(得分:24)
对我来说,问题是通过sudo执行克隆。
如果您克隆到具有用户权限的目录(/ home / user / git),它将正常工作。
(说明:以超级用户身份运行命令不能使用与用户运行命令相同的公钥。因此Github拒绝连接。)
此解决方案需要设置SSH密钥:https://help.github.com/articles/generating-ssh-keys
答案 4 :(得分:18)
使用您的用户名和存储库名称键入以下命令:
git clone https://github.com/{user name}/{repo name}
在Ubuntu中,这非常有效。
答案 5 :(得分:16)
我在教程中经过很长时间后得到了解决方案。
我在此链接上关注了github教程 - > https://help.github.com/articles/error-permission-denied-publickey我能够在每一步都进行连接。 但当我试图 git push -u origin master 时,我收到了这个错误:
权限被拒绝(publickey)。致命:无法从远程读取 库中。
请确保您拥有正确的访问权限
多数民众赞成我如何修复它!! 使用终端转到项目目录并查看
$git remote -v
你会得到这样的东西:
origin ssh://git@github.com/yourGithubUserName/yourRepo.git (fetch)
origin ssh://git@github.com/yourGithubUserName/yourRepo.git (push)
如果您使用的是 git@github.com 之外的任何内容,请键入以下命令打开git目录中的配置文件:
vi .git/config
并配置线
[remote "origin"]
url = ssh://git@github.com/yourGithubUserName/yourRepo.git
fetch = +refs/heads/*:refs/remotes/origin/
答案 6 :(得分:6)
在我的情况下,我不得不为另一个用户设置公钥,因为我已经有一个用于我的主用户。一旦我切换用户并执行上面链接中的命令,我就可以毫无问题地为我的测试服务器执行设置。
答案 7 :(得分:5)
我遇到了这个问题,但上述解决方案都没有奏效。我可以克隆和获取但无法推送。最后,我发现问题出在我url
的{{1}}中,应该是:
.git/config
(不是git@github.com:<username>/<project>
或ssh://github.com/<username>/<project>.git
)。
答案 8 :(得分:5)
鉴于这里没有任何答案对我有用,我终于通过ssh -vT git@bitbucket.org跟踪了我与Bitbucket(或Github,在这种情况下并不重要)的问题。
在我的情况下,失败是由于使用DSA密钥而不是RSA,显然我的SSH客户端不再允许这样做。
debug1:在PubkeyAcceptedKeyTypes中没有跳过ssh-dss键/c/Users/USER/.ssh/id_dsa
解决方法是将其添加到.ssh / config:
Host *
PubkeyAcceptedKeyTypes +ssh-dss
这优雅地将ssh-dss密钥类型附加到所有现有的公共密钥类型,在完成之后,git现在可以ssh到Bitbucket没问题。
答案 9 :(得分:3)
我的问题是每次我在mac终端上输入std::is_final<T>
时,我都试图给我的ssh密钥一个特定名称。
我通过保留“ssh-keygen”生成的名称= ssh-keygen
来解决问题。您最终会在Mac上的.ssh文件夹中使用2个密钥,id_rsa
(这是您的私钥)和id_rsa
,这是您的公钥。然后我将代码从id_rsa.pub
复制并保存到我的GitHub帐户设置中,就是这样。问题解决了。
答案 10 :(得分:2)
如果您在计算机上安装了git,这是一个不错的选择:
答案 11 :(得分:1)
您可以尝试将类型连接从ssh更改为https。
nano project_path/.git/config
git@github.com:username/repository.git
替换为https://username@github.com/username/repository_name.git
ctrl
+ o
之后,您可以在没有公钥的情况下尝试git pull
答案 12 :(得分:1)
对我来说,它的工作原理如下:
在GitHub中,我将ssh
链接更改为https
,然后提供以下命令:
$ git init
$ git remote add origin https:...
$ git add .
$ git commit -m "first commit"
$ git push origin master
答案 13 :(得分:1)
在Windows中运行SSH或Git Clone时,我遇到了类似的问题。以下结果有助于解决我的问题:
另外,我认为有一种方法可以“告诉”git在主文件夹中使用默认的.ssh文件夹,但仍然需要弄清楚如何。
答案 14 :(得分:1)
添加公钥是解决方案。为了生成ssh密钥:https://help.github.com/articles/generating-ssh-keys有分步说明。
但是,如果未以正确方式生成密钥,则问题仍然存在。 我发现这也是一个有用的链接:https://help.github.com/articles/error-permission-denied-publickey
在我的情况下问题是我在不使用sudo的情况下生成ssh-key但是在使用git命令时我需要使用sudo。 以上链接中的这条评论“如果你生成没有sudo的SSH密钥,那么当你尝试使用像sudo git push这样的命令时,你将不会使用你生成的SSH密钥。”帮助了我。
所以,解决方案是我必须使用sudo来生成密钥生成命令和git命令。 或者对于其他人,当他们在任何地方都不需要sudo时,不要在任何两个步骤中使用它。 (密钥生成和git命令)。
答案 15 :(得分:0)
在Windows商店中使用ubuntu
windows子系统for linux
,您的git push将适用于不同的帐户。
答案 16 :(得分:0)
如果您使用的是linux机器,请检查
生成新的SSH密钥并将其添加到我的Github帐户解决了我的问题。 您可以查看此页面了解更多详情。 GitHelp
答案 17 :(得分:-1)
如果您正在使用Mac,解决此问题的一种快速方法是退出OSX应用并重新登录。
答案 18 :(得分:-1)
您需要设置SSH密钥。
This GitHub page解释了如何生成密钥。
如果您有现有密钥,请复制$HOME/.ssh/id_rsa.pub
并将其粘贴到the GitHub SSH settings page。
答案 19 :(得分:-1)
我的问题是它无法在我的私钥上使用密码短语。
希望能有所帮助。
答案 20 :(得分:-2)
我今天也有这个问题。 解决方案是设置“ssh密钥”。 点击下面的网址,按照步骤操作,然后你就可以了。
答案 21 :(得分:-3)
我尝试了所提到的解决方案,但仍然失败了。 我找到了最终为我工作的解决方案here - 删除然后重新添加远程链接
答案 22 :(得分:-4)
我在Windows上遇到了同样的问题。我从SSH切换到HTTPS并运行Git PUSH。
git push -u origin master
Username for 'https://github.com': <Github login email>
Password for <Github login>: xxx
成功!希望这有帮助。