использование Ansible в экземпляре gcp для подключения к ошибке другого экземпляра - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть сервер с именем master-instance-node и сервер с именем slave-instance-node-1. В master-instance-node у меня установлен Ansible, я изменил файл / etc / ansible / hosts и добавил следующий

[webservers]
slave-instance-node-1

Затем я попробую следующую команду

ansible webservers -a "w " -u USERNAME но я получаю следующую ошибку:

slave-instance-node-1 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nThe ECDSA host key for slave-instance-node-1 has changed,\r\nand the key for the corresponding IP address XX.XXX.X.XX\r\nis unknown. This could either mean that\r\nDNS SPOOFING is happening or the IP address for the host\r\nand its host key have changed at the same time.\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\n@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\r\n@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r\nIT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\r\nSomeone could be eavesdropping on you right now (man-in-the-middle attack)!\r\nIt is also possible that a host key has just been changed.\r\nThe fingerprint for the ECDSA key sent by the remote host is\nSHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.\r\nPlease contact your system administrator.\r\nAdd correct host key in /home/USERNAME/.ssh/known_hosts to get rid of this message.\r\nOffending ECDSA key in /home/USERNAME/.ssh/known_hosts:1\r\n  remove with:\r\n  ssh-keygen -f \"/home/USERNAME/.ssh/known_hosts\" -R \"slave-instance-node-1\"\r\nECDSA host key for slave-instance-node-1 has changed and you have requested strict checking.\r\nHost key verification failed.",
    "unreachable": true
}

Я думал, что файл известного хоста автоматически обновляется в GCP. Что означает эта ошибка и как ее исправить?

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Благодаря комментариям в моем вопросе я смог выяснить ответ. Сначала я должен был удалить известный хост с помощью команды remove with: ssh-keygen -f "/home/USERNAME/.ssh/known_hosts" -R "slave-instance-node-1"., а также установить export ANSIBLE_HOST_KEY_CHECKING=false.

Затем мне пришлось добавить следующую строку в файл / etc / ansible / hosts рядом с имя сервера / ip ansible_user=USERNAME. И, наконец, мне пришлось добавить следующую строку в файл /etc/ansible/ansible.cfg private_key_file = /path/to/file

0 голосов
/ 30 апреля 2020

В дополнение к другим комментаторам вы можете проверить, какие IP используются вашими экземплярами. Если ваш DNS настроен для внешних IP-адресов, вы можете предпочесть stati c external IP, чтобы избежать этой ошибки после перезагрузки экземпляра. Внешние адресаты эфемерны, и проблема может возникнуть не только после повторного развертывания, но и после перезагрузки. Вы можете быть заинтересованы в этом до c https://cloud.google.com/compute/docs/ip-addresses#externaladdresses

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...