Потеря доступа к серверу после подготовки с помощью Chef

Я использую шаблон rails-server-template, доступный здесь (https://github.com/TalkingQuickly/rails-server-template) для подготовки сервера Rails (Ubuntu 12.04) с помощью Chef. Когда я настраиваю новый сервер, я копирую свой открытый ключ ssh ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] и могу нормально войти на свой сервер.

Но после того, как я скачаю новую копию этого шаблона (обновив файл 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"
        }
    }
}

А также обновить пользователя deploy.json в data_bags/users:

{
    "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"
}

По какой-то странной причине после подготовки сервера с помощью пакета exec knife solo bootstrap [email protected] я получаю ошибку Permission denied (publickey). При попытке войти в систему с помощью ssh меня спрашивают пароль для пользователя ubuntu, которого я не знаю. Я даже больше не могу войти в систему с помощью файла .pem пары ключей из Amazon EC2.

Я что-то упускаю? Я не менял роль server.json и не могу понять, что происходит. Что-то изменило мою конфигурацию ssh во время подготовки?


person David A    schedule 29.09.2014    source источник


Ответы (1)


Оказывается, когда я пытался подключиться по ssh к своему серверу, я использовал пользователя ubuntu, тогда как в data_bags я создал нового пользователя с идентификатором deploy. Мне нужно было подключиться по ssh как пользователь deploy.

person David A    schedule 30.09.2014