git clone heroku ssh权限被拒绝

Tri*_*rip 17 git ssh ruby-on-rails heroku git-clone

我刚买了一台新电脑,我正试图克隆我的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).
Run Code Online (Sandbox Code Playgroud)

然后我听说通过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.
Run Code Online (Sandbox Code Playgroud)

什么?好爸爸..

>>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:
Run Code Online (Sandbox Code Playgroud)

不确定这里的密码是什么,但确定不是我设置这个密码.如果我只是按回车键/回车键,它会退出,但这并不能给我一种印象.因此,它仍然不允许我克隆存储库.

有任何想法吗?

更新 我进入我的〜/ .ssh文件并执行ssh-keygen -t rsa,我创建了一个名为的新密钥love.然后我heroku keys:add love.pub成功了.

然后我去了git clone ..

sudo git clone -o heroku git@heroku.com:mysite.git

Initialized empty Git repository in /Users/macuser/Sites/shwagr/shwagr/.git/
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

更新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
Run Code Online (Sandbox Code Playgroud)

将这些键与我的键进行比较:它们是相同的.:d

没有权限.

尝试4

heroku键:清除rm -rf~/.ssh mkdir~/.ssh cd~/.ssh ssh-keygen -t rsa heroku keys:添加cd/Users/macuser/Sites/sudo git clone -o heroku git@heroku.com :shwagr.git

失败.

致命:远程端意外挂断

巨大的更新

刚刚发现git repo实际上是空的.它只是一个符号链接(当你附加一个真实的域时,它仍然使用旧域作为真正的回购).因此当我拉出Heroku的默认名称之一,如smooth-buttery-back-52.git时,它拉动并工作,实际上是我的存储库.

Tab*_*rez 11

我按照heroku提供的步骤进行操作.生成ssh密钥后(无论您调用的是什么文件),只需执行以下操作:

> heroku login
> heroku keys:add
Run Code Online (Sandbox Code Playgroud)

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


pro*_*son 6

>> sudo ssh-keygen
Run Code Online (Sandbox Code Playgroud)

NO. Drop the sudo. That will create keys for the root user, not your user. Well unless of course for some strange reason you want to use root. But then you need to prefix all related commands that are going to use this key with sudo.

  • 因为你刚买了一台新电脑.恢复它,不要使用sudo,除非你真的必须这样做.使用rvm和homebrew并留在当地:)你正式处于权限地狱. (2认同)