Replace inplace sshd_config param (at same position)
Ex:
#Port 22 by Port 2222 or Port 2233
---
- hosts: webservers
tasks:
- name: Update SSH configuration to be more secure.
lineinfile:
dest: /ansible/sshd_config
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
state: present
with_items:
- regexp: '^(.*)PasswordAuthentication (.*)$'
line: "PasswordAuthentication no"
- regexp: '^(.*)PermitRootLogin (.*)$'
line: "PermitRootLogin no"
- regexp: '^(.*)Port (.*)$'
line: "Port 2849"
Use insertafter or insertbefore
tasks:
- name: add to ansible hosts file
lineinfile:
dest: /ansible/sshd_config
insertafter: '^\[ansible_ssh_host\]'
line: " test ansible_ssh_host=172.0.0.3"
tasks:
- replace:
path: /ansible/sshd_config
regexp: '^(?!#)'
replace: '#'
- name: Ansible Copy using Conditional Statements
hosts: test_group
tasks:
#The env variables can be passed in:
#ex: ansible-playbook ~/playbook.yml -e "env=prod"
- name: Copy Apache config for production
copy:
src: prod_httpd.conf
dest: /etc/httpd/conf/httpd.conf
when: env == 'prod'