--- # Copyright 2021-2023 Anthony Perkins # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Disable SSH passwords become: true ansible.builtin.lineinfile: path: /etc/ssh/sshd_config regexp: '^#?\w*PasswordAuthentication (yes|no)' line: 'PasswordAuthentication no' register: changed_ssh_config - name: Enable SSH become: true ansible.builtin.systemd: name: sshd.service enabled: yes state: started - name: Restart SSH become: true ansible.builtin.systemd: name: sshd.service state: restarted when: changed_ssh_config.changed == true - name: Check for firewall-cmd ansible.builtin.stat: path: /usr/bin/firewall-cmd register: firewall_cmd - name: Allow SSH through firewall become: true ansible.posix.firewalld: service: ssh permanent: yes state: enabled immediate: yes when: firewall_cmd.stat.exists