代码之家  ›  专栏  ›  技术社区  ›  Trip

Git克隆Heroku ssh权限被拒绝

  •  17
  • Trip  · 技术社区  · 15 年前

    我刚买了一台新电脑,正试图在上面复制我的Heroku项目。

    这是我迄今为止所做的。我没有包含跟踪,但是所有的东西都保存在正确的位置,函数运行时没有错误。

    >> sudo ssh-keygen
    >> heroku keys:add
    >> sudo git clone -o heroku git@heroku.com:myapp.git
    
    Initialized empty Git repository in /Users/macuser/Sites/shwagr/shwagr/.git/
    Permission denied (publickey).
    

    然后我听说通过ssh-bash来实现。

    >ssh-agent bash
    >ssh-add ~/.ssh
    
    Permissions 0777 for '/Users/macuser/.ssh' are too open.
    It is recommended that your private key files are NOT accessible by others.
    This private key will be ignored.
    

    什么?好吧,爸爸。

    >>sudo chmod 700 ~/.ssh
    >>ssh-agent bash
    >>ssh-add ~/.ssh
    Enter passphrase for /Users/macuser/.ssh: 
    Bad passphrase, try again for /Users/macuser/.ssh: 
    Bad passphrase, try again for /Users/macuser/.ssh: 
    Bad passphrase, try again for /Users/macuser/.ssh: 
    Bad passphrase, try again for /Users/macuser/.ssh: 
    Bad passphrase, try again for /Users/macuser/.ssh: 
    Bad passphrase, try again for /Users/macuser/.ssh:
    

    不知道这里的密码是什么,但设置这个密码的肯定不是我。如果我简单地按回车/回车键,它就会退出,但这并不能给我留下它工作的印象。因此,它仍然不允许我克隆存储库。

    有什么想法吗?

    更新 我进入~/.ssh文件并执行 ssh-keygen -t rsa 我做了一把新钥匙叫 love . 然后我 heroku keys:add love.pub 成功地。

    然后我去了Git克隆……

    sudo git clone -o heroku git@heroku.com:mysite.git
    
    Initialized empty Git repository in /Users/macuser/Sites/shwagr/shwagr/.git/
    Permission denied (publickey).
    

    更新2

    我删除了~/.ssh,并重新创建了它 sudo . 然后我把今天从Heroku上创建的所有密钥都取下来,重新启动了这个过程。

    同样的错误。

    更新3

    >>heroku keys
    
      No Keys for this computer.
    
    >>sudo heroku keys
    
      No Keys for this computer
    
    >>heroku keys:add
    
    >>heroku keys
    
    ssh-rsa AAAA...J67lw== macuser@Mac-Users-MacBook-Pro.local
    

    把这些钥匙和我的钥匙比较一下:它们是一样的。D

    权限被拒绝。

    尝试4

    Heroku键:透明 RM-R~//SSH MKDIR~/SSH CD~/SSH ssh-keygen-t rsa HeloCu键:添加 CD/用户/MACUSER/网站/ sudo git克隆-o heroku git@heroku.com:shwagr.git

    失败。

    致命:远程端意外挂断

    巨大更新

    刚刚发现Git回购实际上是空的。它只是一个符号链接(当你将一个真正的域连接到它时,它仍然使用旧的域作为真正的回购)。所以,当我提取了Heroku的默认名称之一,比如smooth-buttery-back-52.git时,它就被提取并工作了,实际上是我的存储库。

    6 回复  |  直到 10 年前
        1
  •  6
  •   prodigitalson    15 年前
    >> sudo ssh-keygen
    

    不,放下肥皂水。这将为根用户而不是您的用户创建密钥。当然,除非出于某种奇怪的原因,你想使用根。但是,您需要在将要使用此键的所有相关命令前面加上前缀 sudo .

        2
  •  11
  •   Tabrez    13 年前

    我遵循Heroku提供的步骤,它起作用了。一旦生成了ssh密钥(调用文件并不重要),只需执行以下操作:

    > heroku login
    > heroku keys:add
    

    第一条语句提示您输入Heroku用户ID/密码。一旦您通过了身份验证,运行第二个命令将选择您的所有公钥并将其推送到heroku.com。之后你可以运行git克隆,它会像一个魅力!

        3
  •  3
  •   Ngô Văn Thao    13 年前

    https://devcenter.heroku.com/articles/keys#adding_keys_to_heroku 它和我一起工作:

    $heroku密钥:添加

        4
  •  3
  •   Hardik Hardiya    10 年前

    如果你已经做了

    heroku keys:add
    

    但仍有错误,请尝试

    ssh-add
    
        5
  •  2
  •   angelokh    13 年前

    这是Heroku管理您帐户的插件。 https://github.com/ddollar/heroku-accounts

        6
  •  1
  •   Jed Schneider    15 年前

    你为你的sudo帐户做了一个密钥,但不是为你的用户帐户做的,而且你没有 sudo heroku keys:add 所以我猜它上传的是本地用户密钥而不是sudo密钥。为什么你希望你的本地应用程序在你的主目录中有sudo权限呢?我可能会使用x这个sudo,然后按照本教程的说明作为您的用户进行操作: http://docs.heroku.com/keys