Erreur SSH: autorisation refusée (clé publique, mot de passe) dans Ansible
Je suis nouveau sur ansible et je suis tryting à mettre en œuvre. J'ai essayé tous les moyens possibles présents dans l'internet et également toutes les questions liées à elle, mais je ne peux pas résoudre l'erreur. S'il vous plaît aider moi.
J'ai installé ansible playbook sur mon Macbook. J'ai créé une machine virtuelle dont l'IP est 10.4.1.141 et IP de l'hôte est 10.4.1.140
J'ai essayé de me connecter à ma VM à l'aide d'hôte via ssh, Cela est lié par la commande suivante:
ssh [email protected]
et j'ai eu l'accès au shell. Cela signifie mon ssh fonctionne bien.
Maintenant, j'ai essayé la commande suivante pour Ansible:
ansible all -m ping
Et le contenu dans la /etc/ansible/host
est 10.4.1.141
Ensuite il affiche l'erreur suivante:
10.4.1.141 | FAILED => SSH Erreur: Permission denied (publickey,mot de passe).
lors de la connexion à 10.4.1.141:22
Il est parfois utile de ré-exécuter la commande à l'aide -vvvv, qui imprime SSH sortie de débogage pour aider à diagnostiquer le problème.
Puis j'ai essayé de créer config
fichier dans .ssh/
dossier sur la machine hôte, mais l'erreur est toujours la même.
Le contenu de la config
fichier est:
IdentityFile ~/.ssh/id_rsa
qui est le chemin d'accès à ma clé privée.
Ensuite, j'ai couru la même commande ansible all -m ping
et a obtenu de nouveau la même erreur.
Quand j'ai essayé une autre commande
ansible all -m ping -u user --ask-pass
Puis il a demandé un mot de passe SSH, je l'ai donné (sacrément sûr le mot de passe est correct), mais j'ai eu cette erreur:
10.4.1.141 | FAILED => ÉCHEC: échec de l'Authentification.
C'est le journal de l'aide -vvvv
:
<10.4.1.141> ESTABLISH CONNECTION FOR USER: rajatg
<10.4.1.141> REMOTE_MODULE ping
<10.4.1.141> EXEC ssh -C -tt -vvv -o ControlMaster=auto -o ControlPersist=60s -o ControlPath="/Users/rajatg/.ansible/cp/ansible-ssh-%h-%p-%r" -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 10.4.1.141 /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007 && echo $HOME/.ansible/tmp/ansible-tmp-1445512455.7-116096114788007'
10.4.1.141 | FAILED => SSH Error: Permission denied (publickey,password).
while connecting to 10.4.1.141:22
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.
Je ne suis pas encore en mesure de le comprendre quel est le problème. C'est mon dernier choix à la poser ici après avoir fait mes recherches. Le dernier lien qui je faisais allusion est https://valdhaus.co/writings/ansible-mac-osx/
S'il vous plaît aidez moi je suis bloqué. Merci à l'Avance!
source d'informationauteur Rajat Gupta
Vous devez vous connecter pour publier un commentaire.
J'ai corrigé le problème. Le problème était dans ma
/etc/ansible/hosts
.Le contenu écrit dans
/etc/ansible/hosts
était10.4.1.141
. Mais quand je l'ai changé pour le[email protected]
le problème est corrigé.Merci à vous tous pour votre soutien et de me donner plus de clarté au sujet le problème à l'aide des commentaires.
J'ai résolu ce problème ainsi.
Ma question était aussi dans mon fichier hosts
/etc/ansible/hosts
J'ai changé mon fichier hosts de
172.28.2.101
pour
name-of-server-in-ssh-config
J'avais les adresses IP dans le fichier hosts. Depuis que j'ai SSH configs déjà en place pour les noms je n'ai pas besoin d'utiliser une variable ou un nom d'utilisateur dans l'avant des hôtes.
Si vous exécutez ansible avec sudo, par exemple
veuillez garder à l'esprit que le clé publique pour racine doit être sur le serveur que vous souhaitez atteindre, ainsi, non seulement la clé publique de votre non racine de l'utilisateur. Sinon vous obtenez le message d'erreur ci-dessus.
Plus de la question se produire lors de la connexion d'Ubuntu machines hôtes. Solution Ansible requis, l'utilisateur veut se connecter à cause d'Ubuntu ne pas avoir de racine par défaut de l'utilisateur.
pour le fichier Hosts
[Test-Web-Server]
10.192.168.10 ansible_ssh_pass=foo ansible_ssh_user=foo