Я сценарий на заказ «хозяев этой продукции (ее часть)анзибль Playbook принимает неправильный «ansible_ssh_private_key_file» от хостов
"production-public-web": {
"hosts": [
"52.x.y.z"
],
"vars": {
"ansible_ssh_private_key_file": "/home/ec2-user/.ssh/prod1-frankfurt.pem"
}
},
"production-internal": {
"hosts": [
"172.x.y.z"
],
"vars": {
"ansible_ssh_private_key_file": "/home/ec2-user/.ssh/prod1-useast.pem"
}
},
Выход хозяев выглядит нормально и у меня есть сборник пьес, который работает на каждой группы серверов. Но, кажется, путают личные ключи. Некоторые серверы получают правильный ключ, некоторые - нет. Например (-vvvv):
Как вы можете видеть, этот сервер взял неправильный секретный ключ (нас-восток вместо франкфурта)
Я использовал различные секретные ключи в прошлом без каких-либо проблем , Некоторый сервер DO получает правильный закрытый ключ. Регулярный SSH (с правой клавишей) работает.
$ ansible-playbook --version
ansible-playbook 2.0.1.0
Бег на AWS EC2 (CentOS)
Любой ключ?
Ответ: Как Konstantin Suvorov прокомментировал - мой выход Хосты сценарий повторяется одни и те же узлы в более чем одной группе. После того, как я устранил дублирование - все получилось хорошо. Даже без обходного пути .ssh/config.
Спасибо!
Я нашел обходное решение, которое делает эту работу, - добавлены пути частных ключей к ~/.ssh/config следующим образом: «IdentityFile»/.ssh/prod1-frankfurt.pem IdentityFile ~/.ssh/prod1-useast .pem "(с новыми строками ofc). Но в незаменимом журнале все еще есть те же ошибки, что и раньше. –
Что произойдет, если вы сбросите «SSH» из переменной? Например, 'ansible_private_key_file'? – ydaetskcoR
Пожалуйста, просмотрите выходные данные вашего хоста для одного хоста, находящегося в нескольких группах. Если 52.x.y.z в вашем примере определен в какой-либо другой группе, чем production-eu-public-web позже в списке хостов, он будет использовать переменные. –