Wechsel von Puppet zu Ansible. Wie die Tatsache, dass es agentenlos und SSH-gesteuert ist. Ich habe gerade zwei Test-VMs eingerichtet. Einer als Ansible-Server (ja Overkill) und der andere als Beispiel-Client (zufälliger Linux-Server). Alle unsere Server verwenden nur die Authentifizierung mit öffentlich-privaten Schlüsselpaaren. Dies ist für Ansible zunächst etwas problematisch. Ich bin mir ziemlich (fast sicher), dass Ansible mit Schlüsselpaaren arbeiten kann, aber ich kann anscheinend kein gutes Beispiel dafür finden.
Ich habe ein Schlüsselpaar speziell für Ansible erstellt, indem ich a
ssh-keygen -t rsa -b 4096
Ich habe dann den öffentlichen Schlüssel auf den Client kopiert. Die Schlüsselpaarauthentifizierung funktioniert hervorragend, wenn ich sie über Standard-SSH getestet habe. Testen Sie jetzt Ansible. Ich habe den Testclient in die Ansible-Hosts-Datei eingefügt und die einzige Syntax verwendet, die halbwegs korrekt aussah, damit das Schlüsselpaar funktioniert.
[TEST]
10.0.0.5 ansible_ssh_private_key_file=~/.ssh/id_rsa
Wenn ich versuche, nur ein grundlegendes Testmodul wie dieses auszuführen
sudo ansible all -m ping
Ich erhalte die folgende Fehlermeldung
10.0.0.5 | FAILED => SSH Error: Permission denied (publickey,password).
while connecting to 10.0.0.5:22
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.
Offensichtlich ist meine Syntax oder mein konzeptionelles Verständnis für die Einrichtung von Ansible zur Verwendung von Schlüsselpaaren fehlerhaft. Irgendwelche Vorschläge? Vielen Dank
quelle
Wenn Sie jemals wieder auf SSH-Probleme mit ansible stoßen, fügen Sie -vvv zu den Befehlszeilenoptionen hinzu, um zu erfahren, was schief gelaufen ist.
quelle