En raison du fait que j'ai répondu à cela en 2014, j'ai mis à jour ma réponse pour tenir compte des versions plus récentes d'ansible.
Oui, vous pouvez le faire au niveau de l'hôte / de l'inventaire (ce qui est devenu possible sur les versions plus récentes ) ou au niveau mondial:
inventaire :
Ajoutez ce qui suit.
ansible_ssh_common_args='-o StrictHostKeyChecking=no'
hôte :
Ajoutez ce qui suit.
ansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Les options d'hôtes / d'inventaire fonctionneront avec le type de connexion ssh
et non paramiko
. Certaines personnes peuvent affirmer fermement que l'inventaire et les hôtes sont plus sécurisés car la portée est plus limitée.
global:
Guide de l'utilisateur Ansible - Vérification de la clé hôte
Vous pouvez le faire soit dans le fichier /etc/ansible/ansible.cfg
ou ~/.ansible.cfg
:
[defaults]
host_key_checking = False
Ou vous pouvez configurer et env variable (cela peut ne pas fonctionner sur les versions plus récentes):
export ANSIBLE_HOST_KEY_CHECKING=False
ANSIBLE_HOST_KEY_CHECKING
fonctionne mais-e 'host_key_checking=False'
ne fonctionne pas.ansible_ssh_common_args='-o StrictHostKeyChecking=no'
ouansible_ssh_extra_args='-o StrictHostKeyChecking=no'
Oui, vous pouvez définir cela au niveau de l'inventaire / de l'hôte.
Avec une réponse déjà acceptée, je pense que c'est une meilleure réponse à la question de savoir comment gérer cela au niveau des stocks. Je considère cela plus sûr en isolant ce paramètre non sécurisé aux hôtes requis pour cela (par exemple, les systèmes de test, les machines de développement local).
Ce que vous pouvez faire au niveau de l'inventaire, c'est ajouter
ou
à votre définition d'hôte (voir Paramètres d'inventaire comportemental Ansible ).
Cela fonctionnera à condition que vous utilisiez le
ssh
type de connexion, pasparamiko
ou autre chose).Par exemple, une définition d'hôte Vagrant ressemblerait à…
ou
L'exécution d'Ansible sera alors réussie sans changer aucune variable d'environnement.
Dans le cas où vous souhaitez faire cela pour un groupe d'hôtes, voici une suggestion pour en faire une var de groupe supplémentaire pour un groupe existant comme ceci:
la source
ansible_ssh_common_args: '-o StrictHostKeyChecking=no'
dans le fichier yml du fichier group_vars.Je n'ai pas pu utiliser:
dans le fichier d'inventaire. Il semble que ansible ne considère pas cette option dans mon cas (ansible 2.0.1.0 de pip dans ubuntu 14.04)
J'ai décidé d'utiliser:
Ça m'a aidé.
Vous pouvez également définir cette variable dans le groupe à la place pour chaque hôte:
la source
UserKnownHostsFile
/GlobalKnownHostsFile
sur/dev/null
fonctionne également. Il est étrange que le réglageStrictHostKeyChecking
ne fonctionne pas pour vous. Il est fort probable qu'une option de votre configuration SSH en soit la cause.-o UserKnownHostsFile=/dev/null
. Sans cela, cela ne fonctionnait tout simplement pas pour moi, indépendamment de l'emplacement et de la manière dont j'ai spécifiéansible_ssh_common_args
dans les autres réponses.En
/etc/ansible/ansible.cfg
décommentant la ligne:et en
/etc/ansible/hosts
décommentant la ligneC'est tout
la source
L'ajout de ce qui suit à la configuration ansible a fonctionné tout en utilisant des commandes ad-hoc ansible:
Version d'Ansible
la source
Vous définissez ces configurations dans le fichier
/etc/ansible/ansible.cfg
ou~/.ansible.cfg
ouansible.cfg
(dans votre répertoire actuel)testé avec ansible 2.9.6 dans ubuntu 20.04
la source