ssh_server

Build status

Role Description

Install and configure an openssh-server on your system.

Example Playbook

This example is taken from molecule/default/converge.yml and is tested on each push, pull request and release.

---
- name: Converge
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: tehtbl.ssh_server

The machine you are running this on, may need to be prepared, I use this playbook to ensure everything is in place to let the role work.

---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: tehtbl.bootstrap

Role Variables

These variables are set in defaults/main.yml:

---
# ------------------------------------------------------------------------
# defaults file for ssh_server
# ------------------------------------------------------------------------

# Re-new all sshd server keys
ssh_server_renew_keys: false

# Copy issue.net
ssh_server_copy_issue_net: true

# AllowUsers directive to specify who can connect to the ssh server
ssh_server_allow_users:
  - "*"

Requirements

  • Access to a repository containing packages, likely on the internet.
  • A recent version of Ansible. (Tests run on the current, previous and next release of Ansible.)

Context

This role is a part of many compatible roles. Have a look at my other roles for further information.

Compatibility

This role has been tested on these Docker images:

container tag allow_failures
debian stable no
debian testing no
debian unstable yes
ubuntu xenial yes
ubuntu bionic no
ubuntu focal no
ubuntu devel yes

This role has been tested on these Ansible versions:

Testing Using Tox

Unit tests are done on every commit, pull request, release and periodically.

If you find issues, please register them in GitHub

Testing is done using Tox and Molecule:

Tox tests multiple Ansible versions. Molecule tests multiple distributions.

To test using the defaults (any installed Ansible version, namespace: tehtbl, image: ubuntu, tag: latest):

molecule test

# Or select a specific image:
IMAGE="ubuntu" molecule test

# Or select a specific image and a specific tag:
IMAGE="debian" TAG="stable" tox

Or you can test multiple versions of Ansible, and select the correct images:

Tox allows multiple versions of Ansible to be tested. To run the default (namespace: tehtbl, image: ubuntu, tag: latest) tests:

tox

# To run Ubuntu (namespace: `tehtbl`, tag: `latest`)
IMAGE="ubuntu" tox

# Or customize more:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current

Testing Using Vagrant

Install vagrant plugins via:

vagrant plugin install vagrant-reload

Start Tests via VirtualBox Provider:

vagrant up

License

MIT License

Author Information

Sources

This work is based on the great work of many people, e.g. Robert de Bock, Jeff Geerling and Thomas Waldmann. Thank you!

Install
ansible-galaxy install tehtbl/ansible-role-ssh_server
GitHub repository
License
mit
Downloads
1287
Owner