【发布时间】:2014-11-23 11:35:02
【问题描述】:
我正在使用此处提供的 rails-server-template (https://github.com/TalkingQuickly/rails-server-template) 来使用 Chef 配置 Rails 服务器 (Ubuntu 12.04)。当我设置新服务器时,我复制了我的公共 ssh 密钥 ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@my-server.amazonaws.com 并且能够正常进入我的服务器。
但是在我下载了这个模板的一个新副本之后(将 nodes/my-server.json 文件更新到这个:)
{
"environment": "production",
"authorization": {
"sudo": {
"users": ["deploy", "vagrant"]
}
},
"run_list": [
"role[server]",
"role[postgres-server]"
],
"automatic": {
"ipaddress": "my-server.amazonaws.com"
},
"postgresql": {
"password": {
"postgres": "password"
}
}
}
同时更新 data_bags/users 中的 deploy.json 用户:
{
"id": "deploy",
// generate this with: openssl passwd -1 "plaintextpassword"
"password": "password",
"ssh_keys": [ "ssh-rsa my-public-key from ~/.ssh/id_rsa.pub"
],
"groups": [ "sysadmin"],
"shell": "\/bin\/bash"
}
由于某种奇怪的原因,在使用 bundle exec knife solo bootstrap ubuntu@my-server.com 配置服务器后,我收到了 Permission denied (publickey) 错误。尝试使用 ssh 登录时,我被要求输入 ubuntu 用户的密码,我不知道。我什至无法再使用来自 Amazon EC2 的密钥对 .pem 文件登录。
我错过了什么吗?我没有更改 server.json 角色,我似乎无法弄清楚发生了什么。在配置过程中是否有任何东西改变了我的 ssh 配置?
【问题讨论】:
标签: ruby-on-rails ssh amazon-ec2 chef-infra chef-solo