Я только начал изучать основы Ansible и посмотрел, почему получаю указанную выше ошибку, но не могу понять, как с ней разобраться. Это след:
Me-Air:ansible me$ ansible all -m ping -vvv
Using /private/etc/ansible/ansible.cfg as config file
<Public_IP> ESTABLISH SSH CONNECTION FOR USER: [my_user_name_on_EC2_instance]
<Public_IP> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/Users/me/.ansible/cp/ansible-ssh-%h-%p-%r -tt [Public_IP] '/bin/sh -c '"'"'( umask 22 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-... `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-... `" )'"'"''
Public_IP | UNREACHABLE! => {
"changed": false,
"msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue",
"unreachable": true
}
------
Меня раньше спрашивали:
The authenticity of host 'public IP' can't be established.
RSA key fingerprint is ...[key].
Are you sure you want to continue connecting (yes/no)? yes
Вот что у меня есть в файле hosts:
[name_of_the_EC2_instance]
Public_IP
И в конфигурационном файле:
[defaults]
host_key_checking = False
Я что-то там упускаю. Любые идеи?
Заранее спасибо.
Как указано в комментариях, файл закрытого ключа не указан. Файлы по умолчанию (.ssh/id_dsa
, .ssh/id_dsa
) были предприняты, но не найдены.
Файл закрытого ключа можно добавить несколькими способами:
(1) Использование агента ssh: ssh-add ~/.ssh/my-key.pem
(2) По умолчанию в ansible.cfg
:
[defaults]
private_key_file=~/.ssh/my-key.pem
(3) Указывается для каждого хоста в инвентаре:
my-host-ip ansible_ssh_private_key_file=~/.ssh/my-key.pem