2017-07-11 6 views
2

Ich habe 9 Server und ich versuche, ein Paket mit Ansible zu installieren, kann ich ssh in 5 der Server mit einem Passwort und andere 4 fragt kein Passwort, während ssh'ng in ihnen.Ansible: wie zu lösen "Sudo: ein Passwort erforderlich ist" Fehler?

Allerdings habe ich id_rsa.pub Schlüssel auf alle 9 Server kopiert.

Jetzt funktioniert das ansible Skript gut für 5 Server aber w bleibend 4 ich bekomme die folgende Fehlermeldung.

fatal: [xxx0?]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Connection to xxx0? closed.\r\n", "module_stdout": "sudo: a password is required\r\n", "msg": "MODULE FAILURE", "rc": 1}

Mein Ansible.cfg

[defaults] 
filter_plugins =./filter_plugins 
roles_path = ./roles 
sudo_user = root 
host_key_checking = False 
retry_files_enabled = False 
password = ~/password.txt 
timeout = 25 

[ssh_connection] 
ssh_args = -F ~/.ssh/config -o ControlMaster=no -o ControlPersist=30m 
control_path = ~/.ssh/ansible-%%[email protected]%%h:%%p 

~/.ssh/config

Host xx0? xx0? xx0? xx0? xx0? xx0? xx0? xx0? xx0? .xyz.com 
    User yyy 
    Port 22 

ansible version = ansible 2.3.1.0

Wie kann ich diesen Fehler beheben?

+0

Möglicherweise haben Sie Berechtigungen Fehler auf. PUB-Datei auf den 4 Servern, die fehlschlagen. – Difster

+0

Wo kann ich die .pub-Datei sehen? – Swat

+0

Es ist in dem Verzeichnis, in das Sie es kopiert haben. Das kann ich nicht wissen. Entschuldigung für diesen anderen Kommentar, es war für eine andere Frage gedacht. Es wurde gelöscht. – Difster

Antwort

4

Sie eine Fehlermeldung erhalten:

sudo: a password is required

Es bedeutet nicht, Sie nicht auf dem Zielcomputer verbinden kann es bedeutet, dass Sie ein Kennwort zur Verfügung stellen müssen einen Befehl mit erhöhten Berechtigungen ausgeführt werden (oder, dass Sie Führen Sie keinen Befehl mit erhöhten Berechtigungen aus.

Im Gegenteil, es bedeutet, dass die Verbindung ohne Probleme hergestellt wird.

Korrigieren Sie Ihre sudoers Konfiguration auf den betroffenen Computern.

+0

oder geben Sie den 'ansible_sudo_pass' in der Inventardatei an? das wird auch funktionieren? – Luv33preet

1

Das Hauptproblem ist, dass für ansible Aufgabe das Passwort von 4 Servern benötigt, so habe ich Export fragen Sudo Passwort und es hat funktioniert. Es scheiterte wegen des Passworts.

export ANSIBLE_ASK_SUDO_PASS=true 
+0

'[DEPRECATION WARNING]: DEFAULT_ASK_SUDO_PASS Option, zugunsten von was ein generisches Framework ist. Diese Funktion wird in Version 2.8 entfernt. Verfallswarnungen können deaktiviert werden, indem deprecation_warnings = False in ansible.cfg.' gesetzt wird – gies0r

Verwandte Themen