首页 文章

GitHub:权限被拒绝(publickey) . 致命:远程端意外挂断

提问于
浏览
197

我已按照以下说明上传项目 .

全球设置:

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) . 致命:远程端意外挂断

23 回答

  • 0

    您需要设置SSH密钥 .

    This GitHub page解释了如何生成密钥 .

    如果您有现有密钥,则复制 $HOME/.ssh/id_rsa.pub 并将其粘贴到the GitHub SSH settings page中 .

  • 124

    如果您正在使用Mac,解决此问题的一种快速方法是退出OSX应用程序并重新登录 .

  • -1

    我的问题是它在我的私钥上没有使用密码短语 .

    希望能帮助别人 .

  • 28

    我今天也有这个问题 . 解决方案是设置“ssh密钥” . 点击下面的网址,按照步骤操作,然后你就可以了 .

    http://github.com/guides/providing-your-ssh-key

  • 26

    我尝试了所提到的解决方案但仍然失败了我找到了最终为我工作的解决方案here - 删除然后重新添加远程链接

  • 18

    我在Windows上遇到了同样的问题 . 我从SSH切换到HTTPS并运行了Git PUSH .

    git push -u origin master
    Username for 'https://github.com': <Github login email>
    Password for <Github login>: xxx
    

    成功了!希望这可以帮助 .

  • 6

    对我来说,问题是通过sudo执行克隆 .

    如果你克隆到你有用户权限的目录(/ home / user / git),它将正常工作 .

    (说明:以超级用户身份运行命令不能使用与用户运行命令相同的公钥 . 因此Github拒绝连接 . )

    此解决方案需要设置SSH密钥:https://help.github.com/articles/generating-ssh-keys

  • -1

    我不得不将我的公钥添加到github . https://help.github.com/articles/generating-ssh-keys

  • 1

    Yes, It's a public key Problem. 我是 windows 用户,下面的页面可以帮我解决这个问题 .

    http://help.github.com/win-set-up-git/

    更准确地说,这个链接应该是有用的

    https://help.github.com/articles/error-permission-denied-publickey

  • -2

    创建RSA密钥对后,必须使用以下命令将其添加到SSH:

    ssh-add ~/.ssh/id_rsa
    

    或者您创建rsa密钥对的任何地方 .

  • -3

    使用您的用户名和存储库名称键入以下命令:

    git clone https://github.com/{user name}/{repo name}
    

    在Ubuntu中,这非常有效 .

  • 1

    经过很长一段时间的教程,我得到了一个解决方案 .

    我按照这个链接上的github教程 - > https://help.github.com/articles/error-permission-denied-publickey,我能够在每一步都连接 . 但是当我试图 git push -u origin master 时,我收到了这个错误:

    权限被拒绝(publickey) . 致命:无法从远程存储库读取 . 请确保您拥有正确的访问权限

    Thats how I`ve fixed it!! 使用终端转到项目目录并检查出来

    $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/
    
  • 16

    在我的情况下,我不得不为另一个用户设置公钥,因为我已经有一个用于我的主用户 . 一旦我切换用户并执行上面链接中的命令,我就可以毫无问题地为我的测试服务器执行设置 .

  • 3

    我有这个问题,但上面的解决方案都没有奏效 . 我可以克隆和获取但无法推送 . 最后,我发现问题出在我 .git/configurl 中,应该是:

    git@github.com:<username>/<project>
    

    (不是 ssh://github.com/<username>/<project>.githttps://github.com/<username>/<project>.git ) .

  • 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没问题 .

  • 24

    我的问题是,每当我在mac终端上输入 ssh-keygen 时,我都试图给我的ssh键一个 SPECIFIC NAME .

    我只是留下"ssh-keygen"生成的名称= id_rsa 解决了这个问题 . 您最终会在Mac上的.ssh文件夹中输入2个密钥, id_rsa (这是您的私钥)和 id_rsa.pub (这是您的公钥) . 然后我将 id_rsa.pub 中的代码复制并保存到我的GitHub帐户设置中,就是这样 . 问题解决了 .

  • -4

    如果您在计算机上安装了git,这是一个不错的选择:

    http://help.github.com/mac-set-up-git/

  • 5

    添加公钥是解决方案 . 为生成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命令) .

  • 0

    在Windows中运行SSH或Git Clone时遇到了类似的问题 . 以下结果有助于解决我的问题:

    • 运行“rhc setup”时或其他生成ssh密钥的ssh方法,它会在你的主文件夹的.ssh文件夹中创建私钥文件id_rsa,默认为C:\ User \ UserID

    • Git for windows在其安装目录中有自己的.ssh文件夹 . 当您运行git / ssh时,它将在此文件夹中查找私钥文件id_rsa

    • 通过将id_rsa从主文件夹.ssh文件夹复制到git安装目录中的.ssh文件夹来解决问题

    另外,我认为有一种方法可以“告诉”git在主文件夹中使用默认的.ssh文件夹,但仍然需要弄清楚如何 .

  • 1

    对我来说,它的工作原理如下:

    在GitHub中,我将 ssh 链接更改为 https ,然后给出以下命令:

    $ git init
    $ git remote add origin https:...
    $ git add .
    $ git commit -m "first commit"
    $ git push origin master
    
  • 2

    您可以尝试将类型连接更改为从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

  • 1

    在Windows商店中使用ubuntu

    用于Linux的Windows子系统

    ,你的git push将适用于不同的帐户 .

  • -1

    如果您使用的是linux机器,请检查,

    • 你安装了Openssh吗?

    • 如果你这样做,那么你有一个现有的公钥,否则你将不得不生成一个 .

    • 是您的公钥添加到您的github帐户 .

    生成新的SSH密钥并将其添加到我的Github帐户解决了我的问题 . 您可以查看此页面了解更多详情 . GitHelp .

相关问题