0

我的 SSH 密钥与我的根目录相关联,并且没有与每个用户相关联。当我尝试将我的密钥添加到 heroku 时,我得到了以下响应:

skline-mac:~ skline$ heroku keys:add
No ssh public key found in /Users/skline/.ssh/id_[rd]sa.pub.  You may want to specify the full path to the keyfile.

这是有道理的,因为我的 ssh 密钥实际上位于 /var/root/.ssh/id_rsa.pub。我如何告诉 heroku 在那里寻找我的 ssh 密钥?

注意,因为我已使用 $ chmod 700 ~/.ssh 和 $ chmod 600 ~/.ssh/* 锁定了当前用户的 ssh 目录。我不再知道如何访问这些目录。对不起,我是 OSX 的新手

此外,当我尝试使用 sudo 执行相同的命令时,我得到:

skline-mac:~ skline$ sudo heroku keys:add 
/Users/skline/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:861:in `report_activate_error': Could not find RubyGem heroku (>= 0) (Gem::LoadError)
    from /Users/skline/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:255:in `activate'
    from /Users/skline/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:1204:in `gem'
    from /Users/skline/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/bin/heroku:18:in `<main>'

请注意,当我尝试 heroku 键时,我也会收到此错误:添加 /var/root/.ssh/id_rsa.pub 我收到此错误:

skline-mac:~ skline$ heroku keys:add /var/root/.ssh/id_rsa.pub
/Users/skline/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:861:in `report_activate_error': Could not find RubyGem heroku (>= 0) (Gem::LoadError)
    from /Users/skline/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:255:in `activate'
    from /Users/skline/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/rubygems.rb:1204:in `gem'
    from /Users/skline/.rvm/gems/ruby-1.9.2-p136@rails3tutorial/bin/heroku:18:in `<main>'
4

1 回答 1

2

最简单地回答你的问题:

heroku keys:add /var/root/.ssh/id_rsa.pub

关于“锁定”您的/~/.ssh文件夹,这些权限仍然赋予您(他们的所有者)完全访问权限来读取和写入文件。

当你运行sudo heroku keys:add它时,它会因为与 RVM 相关的东西而不是安装 gem 的用户而抛出一个合适的结果,因此当它尝试加载一个 gem 时它没有找到它。至少,这是我对您分享的输出的快速评估。 请参阅下面的评论以进行更正。

于 2011-02-20T19:37:49.467 回答