Как и многие, по-видимому, я с трудом нахожу форум, чтобы задать вопросы по Cygwin. (У Cygwin.com есть список рассылки. Как странно.)
У нас есть несколько серверов Windows, на которых запущен cygwin sshd для административных целей. Все они работают как учетная запись домена, назовем ее my_domain\cyg_server.
Недавно высшее руководство потребовало, чтобы мы разделили учетную запись на разработку и производство. Поэтому на машинах разработки мне нужно изменить существующую службу sshd с запуска my_domain\cyg_server на my_domain\cyg_dev.
Итак, я убедился, что my_domain\cyg_dev существует и принадлежит к тем же группам A/D, что и cyg_server, и что я могу войти на сервер как cyg_server или cyg_dev.
Я добавил cyg_dev в группу локальных администраторов.
Я изменил существующую службу CYGWIN sshd для работы как cyg_dev.
При отключенной службе я перезапустил ssh-host-config из оболочки cygwin, запущенной с помощью "Run as administrator". Я ответил "yes" на все вопросы.
Я заметил, что теперь все файлы /etc/ssh* принадлежат cyg_dev, как и ожидалось.
Я запустил службу, она запустилась правильно и работает как cyg_dev.
Когда я пытаюсь войти на localhost как я сам, я получаю:
/bin/bash: Операция не разрешена
яможетвойдите как my_domain\cyg_dev.
Обычно это указывает на то, что учетная запись, под которой работает sshd, не имеет прав администратора. Но я подтверждаю, что my_domain\cyg_dev находится в группе администраторов.
Я попробовал обновить /etc/passwd со всеми учетными записями домена, но это не решило проблему.
Я не уверен, что попробовать на этом этапе. Я думал удалить /etc/ssh_host* и затем снова запустить ssh-host-config и надеюсь, что файлы будут созданы заново. Стоит ли это пробовать или это ухудшит ситуацию?