Ansibleを使用することにより、私たちのサーバの.ssh/authorized_keys
ファイルに所定のsshキーが含まれていることを確認します。配置に関係なく。Ansible:ファイルに特定の行だけが含まれているかどうかを確認してください。
- 1が欠落している場合は、それを追加します(問題なし、
lineinfile
) - 他の誰かが(「with_items」リストに含まれていない)余分なキー、それを削除し、いくつかの警告を返すに潜入した場合または何か。まあ... "変更された"も受け入れられるかもしれませんが、どういうわけか "欠けている"と "潜入した"行を区別するといいでしょう。
- name: Ensure ssh authorized_keys contains the right users lineinfile: path: /root/.ssh/authorized_keys owner: root group: root mode: 0600 state: present line: '{{ item }}' with_items: - ssh-rsa AABBCC112233... [email protected] - ssh-rsa DDEEFF112233... [email protected]
しかし、第二部では、よりトリッキーになります
最初の部分は簡単です。少なくとも、短くて洗練されたコードでそれを達成するために。
アイデア?
lineinfileさんはあなたの友人ではありません。 – tedder42
ソースファイルで常にターゲットを上書きするだけではないのですか? –
@NeilMcGuigan:うまくいくかもしれませんが、鍵がないか、余分な鍵があるかどうかはわかりません。 –