it-swarm.com.de

Verbindung zum Host über ssh fehlgeschlagen: Die Überprüfung des Hostschlüssels ist fehlgeschlagen.\R\n

Immer Fehler, wenn ich versuche, eine Verbindung zu Hosts in Ansible herzustellen

Ich bin in der Lage, ssh_connection im lokalen Wirt (ansible) anzupingen, aber nicht im jenkins Rohrleitungsbau.

Ich habe fast alles versucht.

----------
[FPipeline] Running Shell script
+ ansible all -m ping -vvv
ansible 2.4.0.0
config file = /var/lib/jenkins/workspace/FPipeline/ansible.cfg
configured module search path = 
[u'/var/lib/jenkins/.ansible/plugins/modules', 
u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, Aug  4 2017, 00:39:18) [GCC 4.8.5 20150623 
(Red Hat 4.8.5-16)]
Using /var/lib/jenkins/workspace/FPipeline/ansible.cfg as config file
Parsed /etc/ansible/hosts inventory source with ini plugin
META: ran handlers
Using module file /usr/lib/python2.7/site-
packages/ansible/modules/system/ping.py
<localhost> ESTABLISH SSH CONNECTION FOR USER: None
<localhost> SSH: EXEC ssh -C -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=/var/lib/jenkins/.ansible/cp/8a5a4c6a60 
localhost '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
Using module file /usr/lib/python2.7/site-
packages/ansible/modules/system/ping.py
<192.168.219.131> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.219.131> SSH: EXEC ssh -C -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=/var/lib/jenkins/.ansible/cp/81147ff3f7 192.168.219.131 '/bin/sh 
-c '"'"'echo ~ && sleep 0'"'"''
<192.168.219.131> (255, '', 'Host key verification failed.\r\n')
server1 | UNREACHABLE! => {
"changed": false, 
"msg": "Failed to connect to the Host via ssh: Host key verification  
failed.\r\n", 
"unreachable": true
}
<localhost> (255, '', 'Host key verification failed.\r\n')
localhost | UNREACHABLE! => {
"changed": false, 
"msg": "Failed to connect to the Host via ssh: Host key verification 
failed.\r\n", 
"unreachable": true
}

----------

Könnt ihr mir bitte dabei helfen ...

4
Kumar

Fügen Sie in Ihrer ansible Konfigurationsdatei /var/lib/jenkins/workspace/FPipeline/ansible.cfg die folgende Zeile hinzu und testen Sie sie erneut.

[defaults]
Host_key_checking = False
4
sfgroups

Eine andere Möglichkeit, die Überprüfung des Hostschlüssels in ansible zu deaktivieren, besteht darin, die Umgebungsvariable ANSIBLE_Host_KEY_CHECKING auf False zu setzen.

export ANSIBLE_Host_KEY_CHECKING=False

Ansible Docs

2
kjpc-tech

Wurde die Maschine seit dem ersten Anschluss neu aufgebaut?

In diesem Fall müssen Sie den Host aus ~/.ssh/known_hosts entfernen oder die folgende Option zu SSH hinzufügen: StrictHostKeyChecking=no.

0
pburrows

Sie können dies mit dem Jenkins Ansible Plugin tun. Ihre Dokumentation enthält einen Fehler bei der Überprüfung des Host-Schlüssels, aber hier ist ein voll funktionsfähiges Beispiel :

Und hier ist der wichtige Ausschnitt mit der Auflösung:

ansiColor('xterm') {
    ansiblePlaybook(
        playbook: './ansible/playbook.yml',
        inventory: '/tmp/inventory.ini',
        credentialsId: 'your-jenkins-pk-credential',
        disableHostKeyChecking: true,
        colorized: true)
    }
}