Несанкционированное соединение SSH
Я пытаюсь запустить роль на нескольких серверах, но я получаю сообщение об ошибке:
фатальный: [192.168.0.10]: НЕПРАВИЛЬНО! = > { "changed": false, "msg": "Не удалось подключиться к хосту через ssh.", "Unreachable": true}
Мой файл /etc/ansible/hosts выглядит следующим образом:
192.168.0.10 ansible_sudo_pass='passphrase' ansible_ssh_user=user
192.168.0.11 ansible_sudo_pass='passphrase' ansible_ssh_user=user
192.168.0.12 ansible_sudo_pass='passphrase' ansible_ssh_user=user
Я понятия не имею, что происходит - все выглядит отлично - я могу войти через SSH, но непонятный пинг возвращает ту же ошибку.
Журнал из подробного выполнения:
< 192.168.0.10 > СОСТОЯНИЕ СОГЛАШЕНИЯ SSH ДЛЯ ПОЛЬЗОВАТЕЛЯ: пользователь < 192.168.0.10 > SSH: EXEC ssh -C -vvv -o ControlMaster = auto -o ControlPersist = 60s -o KbdInteractiveAuthentication = no -o PreferredAuthentications = GSSAPI-с-микрофоном, GSSAPI-keyex, hostbased, PublicKey -o PasswordAuthentication = no -o User = user -o ConnectTimeout = 10 -o ControlPath =/root/.ansible/cp/ansible-ssh-% h-% p-% r 192.168.0.10 '/bin/sh -c' "'" ' (umask 22 & mkdir -p "echo
$HOME/.ansible/tmp/ansible-tmp-1463151813.31-156630225033829
" && & эхо "echo
$HOME/.ansible/tmp/ansible-tmp-1463151813.31-156630225033829
" ) ' "'" ''
Вы можете мне как-то помочь? Если мне нужно использовать в локальном режиме (-c local), то это бесполезно.
Я попытался удалить ansible_sudo_pass и ansible_ssh_user, но он не помог.
Ответы
Ответ 1
Вам нужно изменить ansible_ssh_pass
или ssh-ключ, например, я использую это в своем файле инвентаря:
192.168.33.100 ansible_ssh_pass=vagrant ansible_ssh_user=vagrant
После этого я могу подключиться к удаленному хосту:
ansible all -i tests -m ping
Со следующим результатом:
192.168.33.100 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Надеюсь, что вам помогут.
Ответ 2
mkdir /etc/ansible
cat > hosts
default ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user=vagrant ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key
Перейдите в каталог вашей книги и запустите все -m ping
Ответ 3
Попробуйте изменить файл хоста:
192.168.0.10
192.168.0.11
192.168.0.12
Ответ 4
Изменен параметр ansible_ssh_port при перезагрузке vm.
== > default: Загрузка VM...
== > default: Ожидание загрузки машины. Это может занять несколько минут...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
Поэтому мне пришлось обновить файл инвентаризации/хостов следующим образом:
default ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user='centos' ansible_ssh_private_key_file=<key path>