Все в «волшебном» синтаксисе вызова метода:
object.property();
Когда вы получаете свойство из объекта и вызываете его за один раз, объект будет контекстом для метода , Если вы вызываете тот же метод, но в отдельных шагах, контекст представляет собой глобальную область (окно):
var f = object.property;
f();
Когда вы получаете ссылку на метод, он больше не привязан к объекту, это просто ссылка на простую функцию. То же самое происходит, когда вы получаете ссылку на использование в качестве обратного вызова:
this.saveNextLevelData(this.setAll);
Здесь вы привязываете контекст к функции:
this.saveNextLevelData(this.setAll.bind(this));
Если вы используете jQuery вы должны использовать метод $.proxy, а bind не поддерживается во всех браузерах:
this.saveNextLevelData($.proxy(this.setAll, this));
В связи с тем, что я ответил на это в 2014 году, я обновил свой ответ на счет для более поздних версий.
Да, вы можете сделать это на уровень хоста / инвентаря (что стало возможным на более новых версиях ) или глобальном уровне:
инвентарь:
Добавьте следующее.
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
host:
Добавьте следующее.
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
хосты / параметры инвентаря будут работать с типом подключения ssh
, а не paramiko
.
global:
/etc/ansible/ansible.cfg
, либо ~/.ansible.cfg
file: [defaults]
host_key_checking = False
ansible-playbook -e 'host_key_checking=False' yourplaybook.yml
export ANSIBLE_HOST_KEY_CHECKING=False
В /etc/ansible/ansible.cfg
раскомментируйте строку:
host_key_check = False
и в /etc/ansible/hosts
раскомментируйте строку
client_ansible ansible_ssh_host=10.1.1.1 ansible_ssh_user=root ansible_ssh_pass=12345678
. Это все
С уже принятым ответом я думаю, что это лучший ответ на вопрос о том, как справиться с этим на уровне запасов. Я считаю это более безопасным, изолируя эту небезопасную настройку хостам, требуемым для этого (например, тестовые системы, локальные машины разработки).
Что вы можете сделать на уровне инвентаря, добавьте
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
или
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
в определение вашего хоста (см. Параметры сильной поведенческой инвентаризации ).
Это будет работать при условии, что вы используете тип соединения ssh
, а не paramiko
или что-то еще).
Например, определение хоста-бродяг будет выглядеть как ...
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_common_args='-o StrictHostKeyChecking=no'
или
vagrant ansible_port=2222 ansible_host=127.0.0.1 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Запуск Ansible будет успешным без изменения какой-либо переменной среды.
$ ansible vagrant -i <path/to/hosts/file> -m ping
vagrant | SUCCESS => {
"changed": false,
"ping": "pong"
}
Если вы хотите сделать это для группы хостов, вот предложение сделать его дополнительной группой var для существующей группы:
[mytestsystems]
test[01:99].example.tld
[insecuressh:children]
mytestsystems
[insecuressh:vars]
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
в файл yml файла group_vars.
– g .
18 September 2017 в 09:53
Я не мог использовать:
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
в файле инвентаря.
Я решил использовать:
server ansible_host=192.168.1.1 ansible_ssh_common_args= '-o UserKnownHostsFile=/dev/null'
Мне это помогло.
server ansible_host=192.168.1.1 ansible_ssh_common_args= '-o UserKnownHostsFile=/dev/null'
Это помогло мне.
server ansible_host=192.168.1.1 ansible_ssh_common_args= '-o UserKnownHostsFile=/dev/null'
g3]
Также вы можете установить эту переменную в группе вместо этого для каждого хоста:
[servers_group:vars]
ansible_ssh_common_args='-o UserKnownHostsFile=/dev/null'
UserKnownHostsFile
/ GlobalKnownHostsFile
на /dev/null
также действительно работает. Странно, что настройка StrictHostKeyChecking
не работает для вас. Скорее всего, это вариант в конфигурации SSH.
– gertvdijk
21 June 2016 в 08:16
ANSIBLE_HOST_KEY_CHECKING
работает, но-e 'host_key_checking=False'
не работает. – Marc Abramowitz 22 November 2014 в 18:43ansible_ssh_common_args='-o StrictHostKeyChecking=no'
илиansible_ssh_extra_args='-o StrictHostKeyChecking=no'
– Shammel Lee 10 September 2016 в 10:36