Wenn das Dienstkonto passwortlos sudo ausführen kann, müssen Sie den Zugriff auf dieses Konto schützen.
Das Konto nicht zu haben ein Passwort haben und sich nur mit ssh-Schlüsseln anmelden, wird dies erreicht, vorausgesetzt, Sie können den privaten ssh-Schlüssel ebenfalls sicher aufbewahren.
Der in (2) neu erstellte Benutzer kann sich nur mit dem SSH-Schlüssel anmelden, kein Passwort. Der SSH-Schlüssel ermöglicht indirekten Root-Zugriff. Das ist also gleichbedeutend damit, nur Root-Login mit einem Schlüssel zu erlauben.
Da das Konto kein Passwort hat, ist sudo
nicht möglich nach einem Passwort fragen. Außerdem muss Ansible in der Lage sein, Befehle auszuführen. Die Angabe eines zusätzlichen Passworts an der gleichen Stelle wie der Schlüssel würde die Sicherheit nicht erhöhen.
Das Problem ist, dass Ansible für Administratoren und Automatisierung gedacht ist. Wenn Sie also ein Passwort eingeben müssen, um ein Skript auszuführen, ist dies nicht wirklich der beste Weg. Außerdem ist es nicht sicher, das Passwort für sudo in einer Datei oder Datenbank zu speichern und es jedes Mal abzurufen, wenn das Playbook ausgeführt wird. Die Kombination aus passwortlosem sudo und der Authentifizierung mit ssh Keys ist also die beste Methode, um Sicherheit und keine richtigen Probleme durch Ausführen des Playbooks zu gewährleisten. Außerdem bist du ein Administrator und weißt, was du im Playbook programmierst. Das Playbook kann also Ihre Server nicht zerstören.