diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml index f8dc787..8f8861b 100644 --- a/molecule/default/prepare.yml +++ b/molecule/default/prepare.yml @@ -4,10 +4,19 @@ tasks: - name: ensure openssh installed yum: - name: openssh-server + name: openssh-server, openssh-clients, sshpass state: installed + - name: ensure sshd is running service: name: sshd state: started - enabled: true \ No newline at end of file + enabled: true + + - name: ensure nologin files are absent + file: + path: "{{ item }}" + state: absent + with_items: + - /etc/nologin + - /var/run/nologin \ No newline at end of file diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml index a82dd6f..9ef6350 100644 --- a/molecule/default/verify.yml +++ b/molecule/default/verify.yml @@ -3,7 +3,26 @@ - name: Verify hosts: all + pre_tasks: + - name: Create test user + shell: + cmd: adduser "auth_duo_test" && echo "password" | passwd "auth_duo_test" --stdin tasks: - - name: Example assertion + - name: Try and Login as test user + shell: | + /usr/bin/sshpass -v -p password \ + /usr/bin/ssh -tt -o "UserKnownHostsFile=/dev/null" \ + -o "StrictHostKeyChecking=no" \ + auth_duo_test@localhost > /tmp/sshtest 2>&1 | tee /tmp/sshtest + async: 20 + poll: 10 + ignore_errors: true + + - name: Retrieve SSH login info from file + slurp: + src: /tmp/sshtest + register: slurpfile + + - name: Did duo prompt show? assert: - that: true + that: "'Duo two-factor login for auth_duo_test' in slurpfile['content'] | b64decode"