Ich habe die folgende Aufgabe in meinem ansible playbook, die meinen ssh öffentlichen Schlüssel für einen entfernten Benutzer pranjal
hinzufügt, der bereits von einer vorherigen Aufgabe erstellt wurde.Ansible `authorized_key` kopiert den Schlüssel zum entfernten Benutzer, aber funktioniert nicht, wenn ssh versucht
- authorized_key:
user: pranjal
key: "{{ lookup('file', 'pranjal.pub') }}"
Wenn ich das Ansible Playbook ausführe, wird es erfolgreich ausgeführt. Wenn ich versuche, mich beim Server anzumelden: ssh [email protected]<server_ip>
bekomme ich einen Permission denied (publickey)
Fehler.
Um sicher zu sein, dass ich mich bei einem anderen Benutzer bei einem Server eingeloggt habe und überprüft habe, ob der in /home/pranjal/.ssh/authorized_keys
aufgelistete Schlüssel mit meinem lokalen öffentlichen Schlüssel übereinstimmt, den ich benutze, um mich einzuloggen.
Das Problem, das ich hier vermute, könnte ein Problem mit Berechtigungen sein und ich verstand die Lösung von einem verwandten question.
Aber wie ändern wir die Berechtigungen von authorized_key aus der Ansible-Task selbst? (Damit ich nicht separat in der Instanz müssen sich anmelden, ändern Berechtigungen von .ssh/authorized_keys)
PubkeyAuthentication war bereits vorhanden. Änderungen der Dateiberechtigungen waren das, was ich brauchte. Es funktioniert jetzt! Zweitens habe ich bemerkt, dass gerade das Ausführen von Playbook die neuen Datei-Tasks nicht auf der gleichen Instanz registriert, ich habe neue Instanz erstellt und die Datei-Tasks daran gearbeitet. (Nicht sicher, warum das passiert ist) –