私は次のようにします:
- あなたが(他のものの中で)あなたがどこかで使用するための適切なユーザー(とsudoルール)を作成するロール(「ベース」のようなもの)を作成します
- SSHの役割を作成または調整して管理し
sshd_config
(ファイル全体をを使用して管理することをお勧めしますtemplate
が、それはあなた次第です)、rootログインを無効にします
- SSHの役割をメタなどの基本の役割に依存させる。
最初の役割(基本の役割)では、次のようなものを使用する傾向があります。
name: base | local ansible user | create user
user:
name: "{{ local_ansible_user }}"
group: "{{ local_ansible_group }}"
home: "/home/{{ local_ansible_user }}"
state: present
generate_ssh_key: "{{ local_ansible_generate_key }}"
ssh_key_bits: 4096
ssh_key_type: rsa
tags:
- ansible
- local_user
- name: base | local ansible user | provision authorised keys
authorized_key:
user: "{{ local_ansible_user }}"
state: present
key: "{{ item }}"
with_items: "{{ local_ansible_authorised_keys }}"
tags:
- ansible
- authorised_keys
SSH構成では、次のようにします。
- name: openssh | server | create configuration
template:
src: sshd_config.j2
dest: /etc/ssh/sshd_config
owner: root
group: root
mode: "0640"
validate: "/usr/sbin/sshd -tf %s"
notify:
- openssh | server | restart
tags:
- ssh
- openssh
Ansibleの役割の依存関係はここに記載されています。
プレイブック内の順序付けを使用してこれを行うこともできます。
あなたが文脈でそれを見たいのであれば、私はgithubにいくつかのansibleなものがあります(そこから上記が取られます)