ฉันจะทำต่อไปนี้:
- สร้างบทบาท (เช่น 'ฐาน') ที่คุณ (เหนือสิ่งอื่นใด) สร้างผู้ใช้ที่เหมาะสม (และกฎ sudo) เพื่อให้สามารถใช้งานได้
- สร้างหรือปรับเปลี่ยนบทบาทของคุณสำหรับ SSH เพื่อจัดการ
sshd_config
(ฉันมักจะแนะนำให้คุณจัดการไฟล์ทั้งหมดโดยใช้ a template
แต่ขึ้นอยู่กับคุณ) และปิดใช้งานการเข้าสู่ระบบรูท
- ทำให้บทบาท 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
เบิ้ลของการอ้างอิงบทบาทมีเอกสารที่นี่
คุณสามารถใช้การสั่งซื้อภายใน playbook เพื่อทำสิ่งนี้
ฉันมีสิ่งที่เข้าใจได้ใน gitHub (จากที่กล่าวมาข้างต้น) ถ้าคุณต้องการที่จะเห็นมันในบริบท