Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ansible Failed to connect to the host via ssh

Sujet résolu
    10 novembre 2017 à 10:45:50

    Hello tout le monde,
    J'essaye Ansible mais je fais fasse à un problème dont je ne trouve pas la source, ou plutot comment le résoudre.
    Voilà mon message d'erreur suite a un essai de déploiement d'un paquet qu'une VM qui tourne sur Ubuntu ( Master ) et la machine CentOs ( Slave) sur laquelle je veux installer un paquet.
    root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible-playbook -i hosts Playbook.yml
    PLAY [Installation des serveurs web] *********************************************************************************************************************************************
    TASK [Gathering Facts] ***********************************************************************************************************************************************************
    fatal: [192.168.1.29]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n", "unreachable": true}
    to retry, use: --limit @/home/rbo/Documents/Ansible/Playbook.retry
    PLAY RECAP ***********************************************************************************************************************************************************************
    192.168.1.29               : ok=0    changed=0    unreachable=1    failed=0
    Test de connexion success
    root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible all -m ping
    Enter passphrase for key '/root/.ssh/id_rsa': 
    192.168.1.26 | SUCCESS => {
        "changed": false, 
        "failed": false, 
        "ping": "pong"
    }
    
    Fichier hosts et playbook.yml
    [web]
    192.168.1.26
    Playbook.yml
    ---
    - name: Installation des serveurs web
      hosts: web
      remote_user: root
      tasks: 
        - name: Installation de Git
          yum: name=git
    Je peux me connecter en ssh à ma machine CentOs sans problème mais le deploiement refuse de se faire à cause de cette erreur denied access.
    root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ssh root@192.168.1.26
    Enter passphrase for key '/root/.ssh/id_rsa': 
    Last login: Fri Nov 10 02:42:19 2017 from rbo-virtualbox.home
    [root@pc-271 ~]# 
    
    Une idée ? Merci

    -
    Edité par czar1983 10 novembre 2017 à 11:27:55

    • Partager sur Facebook
    • Partager sur Twitter
      10 novembre 2017 à 11:16:47

      Bonjour,

      Problème de config dans le playbook hôtes je pense, car dans le premier snippet on a une tentative de connexion sur '192.168.1.29' au lieu de '192.168.1.26'.

      -
      Edité par mika83 10 novembre 2017 à 11:19:44

      • Partager sur Facebook
      • Partager sur Twitter
        10 novembre 2017 à 11:26:55

        mika83 a écrit:

        Bonjour,

        Problème de config dans le playbook hôtes je pense, car dans le premier snippet on a une tentative de connexion sur '192.168.1.29' au lieu de '192.168.1.26'.

        -
        Edité par mika83 il y a 3 minutes


        Slt Mika,

        Mais corrige moi si je le trompe mais le hosts et playbook.yml doivent se situer sur ma machine master uniquement ? 

        Parceque j'ai bien renseigné l'IP de la machine slave dans le fichier hosts qui est 192.168.1.26

        Est ce que c'est bien ça ?

        • Partager sur Facebook
        • Partager sur Twitter
          10 novembre 2017 à 14:01:19

          Désolé j'avais écris un peu vite, je voulais dire 'problème dans la définition de l'hôte'. Il est possible de définir les hôtes à plusieurs endroits :

          • par défaut '/etc/ansible/hosts' (peut être changé via la directive 'inventory = /new/path/hosts' dans le fichier de configuration '/etc/ansible/ansible.cfg')
          • sur le fichier d'inventaire souhaité via l'option '-i inventoryfile,'  (ce que tu as fais)
          • via des variables et variables spéciales (que ce soit dans la commande ou dans le playbook)
          • d'autres possibilités ...

          Juste une petite remarque concernant l'option '-i', il faut être vigilant car :

          # ici le fichier d'inventaire 'hosts' est utilise :
          ansible-playbook -i hosts Playbook.yml
          # ici l'hote 'hosts' est utilise en se basant sur l'inventaire par defaut :
          ansible-playbook -i hosts, Playbook.yml

          Sinon concernant ton problème, que donne les commandes suivante :

          # liste les hotes utilises
          ansible-playbook -i hosts Playbook.yml --list-hosts
          
          # affiche le fichier d'inventaire qui est utilise
          ansible-playbook -vvv -i hosts Playbook.yml | grep inventory
          
          # pour nous donner un apercu du repertoire de travail
          tree /your/working/directory/

          -
          Edité par mika83 10 novembre 2017 à 14:06:43

          • Partager sur Facebook
          • Partager sur Twitter
            10 novembre 2017 à 15:16:28

            mika83 a écrit:

            Désolé j'avais écris un peu vite, je voulais dire 'problème dans la définition de l'hôte'. Il est possible de définir les hôtes à plusieurs endroits :

            • par défaut '/etc/ansible/hosts' (peut être changé via la directive 'inventory = /new/path/hosts' dans le fichier de configuration '/etc/ansible/ansible.cfg')
            • sur le fichier d'inventaire souhaité via l'option '-i inventoryfile,'  (ce que tu as fais)
            • via des variables et variables spéciales (que ce soit dans la commande ou dans le playbook)
            • d'autres possibilités ...

            Juste une petite remarque concernant l'option '-i', il faut être vigilant car :

            # ici le fichier d'inventaire 'hosts' est utilise :
            ansible-playbook -i hosts Playbook.yml
            # ici l'hote 'hosts' est utilise en se basant sur l'inventaire par defaut :
            ansible-playbook -i hosts, Playbook.yml

            Sinon concernant ton problème, que donne les commandes suivante :

            # liste les hotes utilises
            ansible-playbook -i hosts Playbook.yml --list-hosts
            
            # affiche le fichier d'inventaire qui est utilise
            ansible-playbook -vvv -i hosts Playbook.yml | grep inventory
            
            # pour nous donner un apercu du repertoire de travail
            tree /your/working/directory/

            -
            Edité par mika83 il y a environ 1 heure

            Voici le résultat des commandes :

            root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible-playbook -i hosts Playbook.yml --list-hosts
            
            playbook: Playbook.yml
            
              play #1 (web): Installation des serveurs web	TAGS: []
                pattern: [u'web']
                hosts (1):
                  192.168.1.26
            root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible-playbook -vvv -i hosts Playbook.yml | grep inventory
            Parsed /home/rbo/Documents/Ansible/hosts inventory source with ini plugin
            Enter passphrase for key '/root/.ssh/id_rsa': 
            
            root@rbo-VirtualBox:/home/rbo/Documents/Ansible# tree /your/working/directory/
            The program 'tree' is currently not installed. You can install it by typing:
            apt install tree
            




            • Partager sur Facebook
            • Partager sur Twitter
              10 novembre 2017 à 15:43:51

              czar1983 a écrit:

              root@rbo-VirtualBox:/home/rbo/Documents/Ansible# tree /your/working/directory/
              The program 'tree' is currently not installed. You can install it by typing:
              apt install tree
              

              Euh, lis quand même le résultat au lieu de poster sans réfléchir :ninja:

              • Partager sur Facebook
              • Partager sur Twitter

              Blond, bouclé, toujours le sourire aux lèvres...

                10 novembre 2017 à 16:14:12

                Mais du coup cette fois, il t'ai demandé la passphrase ? Ce n'était pas le cas la première fois ? (Enter passphrase for key '/root/.ssh/id_rsa':)
                • Partager sur Facebook
                • Partager sur Twitter
                  10 novembre 2017 à 16:47:52

                  LoupSolitaire a écrit:

                  czar1983 a écrit:

                  root@rbo-VirtualBox:/home/rbo/Documents/Ansible# tree /your/working/directory/
                  The program 'tree' is currently not installed. You can install it by typing:
                  apt install tree
                  

                  Euh, lis quand même le résultat au lieu de poster sans réfléchir :ninja:


                  Merci mais pas besoin d'être méchant.

                  Je ne comprends pas la signification du "tree". J'ai suivi un les étapes listé sur le site et j'ai aussi suivi un tuto et il n'en parle absolument pas

                  http://docs.ansible.com/ansible/latest/intro_installation.html

                  https://www.youtube.com/watch?v=DwNapBHypE8

                  Maintenant ça fonctionne, je vous remercie infiniment et je vais aller voir qu'est ce que "

                  tree"

                  root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible-playbook -i hosts Playbook.yml 
                  
                  PLAY [Installation des serveurs web] *********************************************************************************************************************************************
                  
                  TASK [Gathering Facts] ***********************************************************************************************************************************************************
                  Enter passphrase for key '/root/.ssh/id_rsa': 
                  ok: [192.168.1.26]
                  
                  TASK [Installation de Git] *******************************************************************************************************************************************************
                  ok: [192.168.1.26]
                  
                  PLAY RECAP ***********************************************************************************************************************************************************************
                  192.168.1.26               : ok=2    changed=0    unreachable=0    failed=0   
                  

                  mika83 a écrit:

                  Mais du coup cette fois, il t'ai demandé la passphrase ? Ce n'était pas le cas la première fois ? (Enter passphrase for key '/root/.ssh/id_rsa':)


                  Merci Mika :D, maintenance ça fonctionne en effet le truc tree etait manquant, je vais fouiller pour comprendre ce que c'est car je n'ai aucune idée :p

                  Merci

                  -
                  Edité par czar1983 10 novembre 2017 à 16:59:11

                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 novembre 2017 à 18:19:52

                    De rien ;),

                    tree est un programme qui affiche le contenu d'un répertoire sous la forme d'une arborescence de fichiers Je t'ai demandé cette commande pour voir l'arborescence de ton projet (au cas ou ...). Donc aucun rapport avec Ansible. Normalement tu dois pouvoir l'installer comme ceci :

                    apt install tree
                    # ou si c'est un autre gestionnaire de paquets
                    # dnf install tree
                    # yum install tree

                    Voici un exemple, pour illustrer son utilité :

                    tree ./
                    ./
                    ├── test.bash
                    ├── test.d
                    │   └── anothertest.txt
                    └── test.txt
                    
                    1 directory, 3 files

                    -
                    Edité par mika83 10 novembre 2017 à 18:20:33

                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 novembre 2017 à 20:13:57

                      mika83 a écrit:

                      De rien ;),

                      tree est un programme qui affiche le contenu d'un répertoire sous la forme d'une arborescence de fichiers Je t'ai demandé cette commande pour voir l'arborescence de ton projet (au cas ou ...). Donc aucun rapport avec Ansible. Normalement tu dois pouvoir l'installer comme ceci :

                      apt install tree
                      # ou si c'est un autre gestionnaire de paquets
                      # dnf install tree
                      # yum install tree

                      Voici un exemple, pour illustrer son utilité :

                      tree ./
                      ./
                      ├── test.bash
                      ├── test.d
                      │   └── anothertest.txt
                      └── test.txt
                      
                      1 directory, 3 files

                      -
                      Edité par mika83 il y a environ 1 heure

                      D'accord donc ça n'a rien avoir avec Ansible :D. étrange que cela ne soit pas mentionné dans les prérequis ou dans les paquets a installer.

                       En tout cas tu a vu juste chapeau.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 novembre 2017 à 20:53:17

                        czar1983 a écrit:

                        maintenance ça fonctionne en effet le truc tree etait manquant

                        Ah non, pas du tout, l'installation de la commande tree n'a rien à voir avec le fait que ça fonctionne maintenant. Je ne sais pas pourquoi ça fonctionne maintenant mais pas avant. Ce qui me semblerait le plus plausible serait une modification que tu as apportés sur l'inventaire, mais tu nous l'aurais dit. Sinon le fait d'entrer la passphrase pour accéder à /root/.ssh/id_rsa, mais je doute que ce soit ça car la demande aurait du être faite lors de l'exécution du playbook.

                        Enfin bon, le plus important est que ça fonctionne maintenant.

                        -
                        Edité par mika83 10 novembre 2017 à 20:54:59

                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 novembre 2017 à 21:24:37

                          mika83 a écrit:

                          czar1983 a écrit:

                          maintenance ça fonctionne en effet le truc tree etait manquant

                          Ah non, pas du tout, l'installation de la commande tree n'a rien à voir avec le fait que ça fonctionne maintenant. Je ne sais pas pourquoi ça fonctionne maintenant mais pas avant. Ce qui me semblerait le plus plausible serait une modification que tu as apportés sur l'inventaire, mais tu nous l'aurais dit. Sinon le fait d'entrer la passphrase pour accéder à /root/.ssh/id_rsa, mais je doute que ce soit ça car la demande aurait du être faite lors de l'exécution du playbook.

                          Enfin bon, le plus important est que ça fonctionne maintenant.

                          -
                          Edité par mika83 il y a 25 minutes


                          Je viens de voir ton lien vers ton site, je suis ton nouveau lecteur tu es maintenant dans mes favoris :D
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 novembre 2017 à 8:55:43

                            czar1983 a écrit:

                            Je viens de voir ton lien vers ton site, je suis ton nouveau lecteur tu es maintenant dans mes favoris :D

                            Merci ! Au plaisir ! Il va falloir que j'assure dans les articles alors ;)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 mars 2019 à 12:30:48

                              czar1983 a écrit:

                              Hello tout le monde,
                              J'essaye Ansible mais je fais fasse à un problème dont je ne trouve pas la source, ou plutot comment le résoudre.
                              Voilà mon message d'erreur suite a un essai de déploiement d'un paquet qu'une VM qui tourne sur Ubuntu ( Master ) et la machine CentOs ( Slave) sur laquelle je veux installer un paquet.
                              root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible-playbook -i hosts Playbook.yml
                              PLAY [Installation des serveurs web] *********************************************************************************************************************************************
                              TASK [Gathering Facts] ***********************************************************************************************************************************************************
                              fatal: [192.168.1.29]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,password).\r\n", "unreachable": true}
                              to retry, use: --limit @/home/rbo/Documents/Ansible/Playbook.retry
                              PLAY RECAP ***********************************************************************************************************************************************************************
                              192.168.1.29               : ok=0    changed=0    unreachable=1    failed=0
                              Test de connexion success
                              root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ansible all -m ping
                              Enter passphrase for key '/root/.ssh/id_rsa': 
                              192.168.1.26 | SUCCESS => {
                                  "changed": false, 
                                  "failed": false, 
                                  "ping": "pong"
                              }
                              
                              Fichier hosts et playbook.yml
                              [web]
                              192.168.1.26
                              Playbook.yml
                              ---
                              - name: Installation des serveurs web
                                hosts: web
                                remote_user: root
                                tasks: 
                                  - name: Installation de Git
                                    yum: name=git
                              Je peux me connecter en ssh à ma machine CentOs sans problème mais le deploiement refuse de se faire à cause de cette erreur denied access.
                              root@rbo-VirtualBox:/home/rbo/Documents/Ansible# ssh root@192.168.1.26
                              Enter passphrase for key '/root/.ssh/id_rsa': 
                              Last login: Fri Nov 10 02:42:19 2017 from rbo-virtualbox.home
                              [root@pc-271 ~]# 
                              
                              Une idée ? Merci

                              -
                              Edité par czar1983 10 novembre 2017 à 11:27:55



                              • Partager sur Facebook
                              • Partager sur Twitter

                              Ansible Failed to connect to the host via ssh

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown