Eu tive esse problema e resolvi isso.
Inicialmente, segui a resposta de Константин Брызгалов e consegui fazer o login com uma senha, mas não consegui fazer a autenticação de chave pública funcionar. (Eu criei uma conta de administrador cyg_server local manualmente.)
Em uma investigação mais aprofundada, eu estava lendo esta página e disse para evitar ter um domínio e uma conta local. Eu chequei e eu tinha os dois; aparentemente alguém da minha organização está executando um servidor cygwin e já criou um cyg_server no domínio, que estava ficando confuso com minha conta local.
Eu excluí minha conta cyg_server local, desinstalei o serviço sshd e reinstalei conforme descrito nessa página, e tudo funcionou perfeitamente. O truque era dizer "não" ao usar a conta cyg_server existente e dizer ao ssh-host-config para criar uma conta "cyg_server1". Ele criou uma conta local e configurou tudo corretamente. Especificamente:
- cygrunsrv --stop sshd
- cygrunsrv --remove sshd
- Ctrl + gt; Contas de usuário > Contas de usuários do gerente > (excluir conta local do cyg_server)
- mkpasswd -l -d > / etc / passwd
- mkgroup -l -d > / etc / group
- ssh-host-config
- substituir = sim
- strict = yes
- CYGWIN = ntsec
- usuário para executar = cyg_server1
- senha = {...}
Verificando as contas de usuários, você verá que cyg_server1 é de fato uma conta local, mas possui configuração adicional.