Я использую шаблон 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 во время подготовки?