У меня была эта проблема, и я решил ее.
Сначала я последовал ответу Константина Брызгалова и смог войти с паролем, но не смог заставить работать аутентификацию с открытым ключом. (Я создал учетную запись локального администратора cyg_server вручную.)
При дальнейшем расследовании я читал эту страницу, и там говорилось, что нужно избегать как домена, так и локальной учетной записи. Я проверил, и у меня были оба; очевидно, кто-то еще в моей организации работает на сервере cygwin и уже создал cyg_server в домене, который путали с моей локальной учетной записью.
Я удалил свою локальную учетную запись cyg_server, удалил службу sshd и переустановил, как описано на этой странице, и все отлично работало из коробки. Хитрость заключалась в том, чтобы сказать "нет" существующей учетной записи cyg_server и сказать ssh-host-config создать учетную запись "cyg_server1". Он создал локальную учетную запись и настроил все правильно. В частности:
- cygrunsrv --stop sshd
- cygrunsrv --remove SSHD
- Панель Ctrl> Учетные записи пользователей> Менеджер учетных записей пользователей> (удалить локальную учетную запись cyg_server)
- mkpasswd -l -d>/etc/passwd
- mkgroup -l -d>/etc/group
- SSH-хост-конфигурации
- перезаписать = да
- строгий = да
- CYGWIN = нтсек
- пользователь для запуска = cyg_server1
- пароль = {...}
Проверяя учетные записи пользователей, вы увидите, что cyg_server1 действительно является локальной учетной записью, но имеет дополнительные настройки.