【问题标题】:How to get rid of Permission denied (publickey) error on running bundle exec foreman start?如何在运行 bundle exec foreman start 时摆脱 Permission denied (publickey) 错误?
【发布时间】:2017-07-28 08:03:17
【问题描述】:

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

到现在还好好的,突然就停止了。

过程文件

网络:捆绑 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"

【问题讨论】:

  • 请在此处复制并粘贴您的 Procfile。正在运行的命令之一尝试连接到 AWS(ElasticCache 会这样做)并且 AWS 实例不知道您的公共 SSH 密钥。您必须将其添加到服务器才能通过 SSH 正确连接。

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


【解决方案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. 将密钥粘贴到服务器授权密钥文件~/.ssh/authorized_keys


考虑到您只能通过 Web 控制台访问 AWS,请按照here 所述执行以下操作:

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

选择您的实例。在 Description 选项卡中,验证 Key 的值 对名称。

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

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 2014-11-23
    • 1970-01-01
    • 2021-05-11
    • 2018-07-04
    • 2013-10-13
    • 2021-11-22
    相关资源
    最近更新 更多