मैं निम्नलिखित कार्य करूंगा:
- एक भूमिका ('आधार' जैसा कुछ) जहां आप (अन्य चीजों के बीच) बनाते हैं, का उपयोग करने के लिए एक उपयुक्त उपयोगकर्ता (और सुडौल नियम) बनाएं
- SSH के लिए अपनी भूमिका बनाएं या अनुकूलित करें,
sshd_config(मैं एक का उपयोग करके आपको पूरी फ़ाइल प्रबंधित करने की सलाह दूंगा 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
Ansible की भूमिका पर निर्भरताएँ यहाँ प्रलेखित हैं ।
आप ऐसा करने के लिए बस अपनी प्लेबुक के भीतर ऑर्डरिंग का उपयोग कर सकते हैं।
मेरे पास जीतूब (जिसमें से ऊपर लिया गया है) पर कुछ ansible सामान है, यदि आप इसे संदर्भ में देखना चाहते हैं