Ansible role: ansible-bootstrap

Introduction

ansible-bootstrap is an Ansible role to prep a host in order to be managed by Ansible. It will lock down SSH, install Fail2ban, set the root password, and install some additional Python packages.

Installation

Getting Started

Variable examples

There are only a few variables which are defined to get started with this role.

---
# Only set to true if desired to set root password...for Debian/Ubuntu systems

bootstrap_debian_set_root_pw: false

# Define root password for hosts
# If Ubuntu/Debian choose wisely if you want to do this
# Generate password (echo password | mkpasswd -s -m sha-512)
# The password below is 'P@55w0rd'
bootstrap_root_password: '$6$8tMUxKP33/$Fb/hZBaYvyzGubO9nrlRJMjUnt3aajXZwxCifH9NYqrhjMlC9COWmNNFiMpnyNGsgmDeNCCn2wKNh0G1E1BBV0'

# Defines if root password should be set
# This only applies to non Debian/Ubuntu systems
bootstrap_set_root_pw: false

Variables explained:

  • The bootstrap_debian_set_root_pw defines if the root password should be set on Debian based systems.
  • The bootstrap_install_fail2ban defines if fail2ban should be installed.
  • The bootstrap_root_password defines the root password to be set.
  • The bootstrap_set_root_pw defines if non Debian/Ubuntu root passwords should be set.

Playbook example

---
- hosts: all
  become: true
  vars:
  roles:
    - role: ansible-bootstrap
  tasks: