I presume you installed the Microsoft β-release of native openssh server?
Microsoft documentation explains how to deploy ssh keys using Powershell on serverside.
Nevertheless, in your still want bash:
2/ The shell provided by Microsoft can be configured adding a property in the registry:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Blockquote
You can also use a “bash” script to modify your %PATH% and add any flavor of third party bash you may have installed on the server (cygwin, msys, git-bash…).
1/ try again ssh-copy-id :) BUT keep in mind that only ed25519 keys may work.
you@unix$ ssh-keygen -t ed25519
may save your day. Maybe not: I am unsure of the openssh implementation of Microsoft and the ACL management will probably prevent you from login in after the ssh key deployment if the ACLs (and their administrator_authorized_keys mechanism) is not correctly fixed.
BTW: the microsoft documentation are pretty clear.
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration and
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement