我有一个关于使用Rubber gem将Rails应用程序部署到EC2的问题。当我开始跑步时
cap rubber:create_staging
这行代码在循环中运行。
执行`rubber:_allow_root_ssh' 执行“sudo -p”sudo密码:'bash -l -c'cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'“ 服务器:[“witheld”] 。无法连接到witheld,正在重试
我认为这可能是我的密钥对的问题。 就我的键名而言,我在config / rubber文件夹中有一个名为keyname(纯文本文件)的当前私钥和一个名为keyname.pub的公钥。我的rubber.yml文件列出了
key_name:keyname
key_file:“#{Dir [(File.expand_path('〜')rescue' / root')+'/.ec2 / *'+ cloud_providers.aws.key_name] .first}”
我很确定所有其他信息都是正确的,但我显然无法将其复制并粘贴。有任何建议吗?
答案 0 :(得分:1)
您的密钥应位于〜/ .ec2 /文件夹中,而不是在config / rubber文件夹中。还要确保从私钥文件中删除.pem扩展名,并且.pub保留在您的公共文件中。 还要在rubber.yml文件中更改key_name:[此处的私钥文件名]。
根据你的key_file:settings,rubber会在〜/ .ec2文件夹中查找这些键。所以把它们移到那里。