community.crypto/tests/integration/targets/setup_ssh_agent/tasks/main.yml

44 lines
1.5 KiB
YAML

---
####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
- name: Start an ssh agent to use for tests
shell: eval $(ssh-agent)>/dev/null&&echo "${SSH_AGENT_PID};${SSH_AUTH_SOCK}"
register: openssh_agent_env_vars
- name: Register ssh agent facts
set_fact:
openssh_agent_pid: "{{ openssh_agent_env_vars.stdout.split(';')[0] }}"
openssh_agent_sock: "{{ openssh_agent_env_vars.stdout.split(';')[1] }}"
- name: stat agent socket
stat:
path: "{{ openssh_agent_sock }}"
register: openssh_agent_socket_stat
- name: Assert agent socket file is a socket
assert:
that:
- openssh_agent_socket_stat.stat.issock is defined
- openssh_agent_socket_stat.stat.issock
fail_msg: "{{ openssh_agent_sock }} is not a socket"
- name: Verify agent responds
command: ssh-add -l
register: rc_openssh_agent_ssh_add_check
environment:
SSH_AUTH_SOCK: "{{ openssh_agent_sock }}"
when: openssh_agent_socket_stat.stat.issock
failed_when: rc_openssh_agent_ssh_add_check.rc == 2
- name: Get ssh version
shell: ssh -Vq 2>&1|sed 's/^.*OpenSSH_\([0-9]\{1,\}\.[0-9]\{1,\}\).*$/\1/'
register:
rc_openssh_version_output
- name: Set ssh version facts
set_fact:
openssh_version: "{{ rc_openssh_version_output.stdout.strip() }}"