【问题标题】:Losing Access to Server After Provisioning With Chef使用 Chef 配置后失去对服务器的访问权限
【发布时间】: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


    【解决方案1】:

    结果当我尝试通过 ssh 连接到我的服务器时,我使用的用户是 ubuntu,而在 data_bags 中,我设置了一个 ID 为 deploy 的新用户。我需要以deploy 用户身份登录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 2019-05-28
      相关资源
      最近更新 更多