servers/roles/windows/tasks/main.yml
Timotej Lazar ba431d4776 Add windows role
Set up network interfaces and SSH for Windows hosts.

We can’t gather facts before we know which remote shell to use, so
first run a win_ping to determine if a given host is running Windows.
2025-05-09 17:08:56 +02:00

37 lines
936 B
YAML

- include_tasks: interface.yml
loop: "{{ interfaces }}"
loop_control:
label: "{{ interface.name }}"
loop_var: interface
- name: Disable SSH password authentication
win_lineinfile:
path: c:\ProgramData\ssh\sshd_config
regexp: '^#?{{ item.key }}'
line: "{{ item.key }} {{ item.value }}"
loop:
- key: "PasswordAuthentication"
value: "no"
- key: "PermitRootLogin"
value: "prohibit-password"
notify: restart sshd
- name: Set default shell to powershell
win_regedit:
path: HKLM:\SOFTWARE\OpenSSH
name: DefaultShell
data: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
type: string
state: present
notify: restart sshd
- name: Set authorized SSH keys
win_copy:
dest: C:\ProgramData\ssh\administrators_authorized_keys
content: "{{ ssh_keys | join('\n') }}"
- name: Enable ssh
win_service:
name: sshd
start_mode: auto
state: started