如何在运行bundle exec foreman start时摆脱Permission denied(publickey)错误?

时间:2017-07-28 08:03:17

标签: ruby-on-rails error-handling foreman

每当我运行bundle exec foreman start时,我都会遇到错误。

enter image description here

到目前为止工作正常,但它突然停止了工作。

Procfile

  

web:bundle exec rails s -p 3000

     

redis:redis-server --port 6379

     

db:/ usr / local / bin / mysqld --gdb

     

watch_re:npm run watch:js:re

     

watch_vue:npm run watch:js:vue

     

sidekiq:bundle exec sidekiq -q high -q default -q crawler_facebook -q   crawler_twitter -q mckinley -q twitter_io -q twitter_reach_freq -q   master_update -q twitter_check_notification -q tw_report_file_creator   -q mojaco_tw_crawler -q mojaco_fb_crawler -q fb_report_file_creator -q cache_manager -q facebook_attribution

     

ssh_tunneling_for_elasticache:ssh -N -L   60660:sherpa-production.y6mej4.0001.apne1.cache.amazonaws.com:60660   ec2-user@ec2-13-114-37-187.ap-northeast-1.compute.amazonaws.com -o   " StrictHostKeyChecking no" -o" UserKnownHostsFile / dev / null"

1 个答案:

答案 0 :(得分:1)

AWS服务器不知道您的公共SSH密钥。

ssh_tunneling_for_elasticache: ssh -N -L 60660:sherpa-production.y6mej4.0001.apne1.cache.amazonaws.com:60660 ec2-user@ec2-13-114-37-187.ap-northeast-1.compute.amazonaws.com -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null"

此命令尝试建立与AWS的隧道连接。 以下是如何使用公钥设置服务器的方法,如果您可以通过命令行访问它:

  1. 如果您尚未(在您的本地设备上)生成密钥: ssh-keygen

  2. 将密钥粘贴到服务器authorized-keys文件~/.ssh/authorized_keys

  3. 考虑到除了通过Web控制台之外您无法访问AWS,请按照here所述执行以下操作:

      

    https://console.aws.amazon.com/ec2/打开Amazon EC2控制台。

         

    选择您的实例。在“描述”选项卡中,验证Key的值   对名。

         

    如果在启动实例时未指定密钥对,则为   可以终止实例并启动新实例,确保实例   你指定一个密钥对。如果这是您的实例   使用但你不再拥有密钥对的.pem文件,你可以   用新的密钥对替换密钥对。有关更多信息,请参阅   如果丢失私钥,则连接到Linux实例。