I do realize this is an OLD post (relatively speaking) but I appreciate(d) finding it, as I'm currently revisiting "Salt vs. Ansible," and while I thought I was leaning towards Salt, perhaps it might be Ansible instead at this point. Not yet settled.
Nothing needs to be used, anything that is used will be primarily to ease my job of administering - primarily - client machines. (Currently not rolling out enough Linux (or Windows for that matter) servers to be considering a/ny config mgmt system - at this time).
Most sites have or can have a linux vm that I setup and maintain.
My need is for one mgmt tool that is: Viable for Windows and Mac OS endpoint management, and for simple basic (check for and) application of system updates, both fit the bill.
Security is also (especially, as we all know) not at all a non-factor.
I do like that as of now - with the current build of Windows 10, ssh(d) is included.
And I hope to use a setup that will work over ssh, with client-nodes limiting connections (from source IP) by firewall, and ssh config limiting connections to/by key only.
I know that the default config of OpenSSH in Windows uses
"C: \ProgramData\ssh\administrators_authorized_keys"
for said config, I have yet to verify if the MS-included (Apps > Optional Features) sshd uses the same.