У меня возникли трудности при входе на мой сервер Windows 2008 (DC), на котором запущен Cygwin sshd. Я могу нормально войти в систему с учетной записью, которая является членом группы администраторов домена, но когда я пытаюсь использовать учетную запись обычного пользователя, ssh сообщает: «В разрешении отказано».
Я бежал mkpasswd -l > /etc/passwd
. Фактически, если я добавлю учетную запись в группу администраторов, она сможет войти. Однако после удаления его из группы администраторов он снова не может войти в систему.
После того, как я провел слишком много времени, спотыкаясь, я наконец обнаружил причину своей проблемы. Короче говоря, я получал сообщение «Permission denied» для моих пользователей без прав администратора, потому что на контроллере домена группа «Пользователи» не имеет права «Разрешить локальный вход».. Когда sshd попытался переключить контекст из учетной записи службы sshd на непривилегированного пользователя, операция завершилась неудачно, потому что у пользователя не было разрешения на локальный вход.
Чтобы исправить это, мне пришлось отредактировать политику контроллера домена по умолчанию, чтобы предоставить группе «Пользователи» право «Разрешить локальный вход». Это можно найти в Управление групповой политикой> (ваш домен)> Объекты групповой политики. Щелкните правой кнопкой мыши, Изменить. Перейдите в Конфигурация компьютера> Политики> Параметры Windows> Параметры безопасности> Локальные политики> Назначение прав пользователя. Откройте «Разрешить локальный вход» и добавьте группу «Пользователи» (или вы можете создать группу «Пользователи SSH» и добавить ее вместо нее).
После редактирования политики запустите gpupdate
в командной строке, чтобы обновить изменения, и все готово.
Это было сложно, но я наконец понял это.
Хотя у меня это сработало, у других может не получиться. Я перечислю еще несколько вещей, которые я сделал, которые, возможно, также повлияли на успех.
1. chmod'ing passwd и групповой файл в rw.
2. Пользователи должны быть в группе администратора.
3. Каталог установки Cygwin разрешил пользователям RW доступ.
У меня были те же проблемы (сегодня), и я думаю, что понял это. Прежде чем вы сможете использовать ssh в качестве других пользователей, эти другие пользователи должны быть полностью настроены в cygwin. поэтому для меня мне нужно было фактически войти в Windows как каждый пользователь, не являющийся администратором, а затем (в том же сеансе Windows) открыть терминал cygwin (все еще как пользователь без администратора) и просто возиться на секунду (например, запустите «ls», затем посмотрите, не можете ли вы использовать ssh в localhost («ssh localhost»). Как только я открыл терминал cygwin, он сгенерировал некоторые исходные детали конфигурации или что-то еще, и с этого момента я мог ssh как пользователь без прав администратора. надеюсь, что это поможет.