Почему ssh-host-config создает двух пользователей в Cygwin в Windows 8.1?

Некоторые числа версии браузера были бы хороши, а также еще некоторая информация о том, что еще находится на том сервере.

На основе какого Вы обеспечили, это кажется, что на том сервере существуют другие сертификаты SSL, и браузеры не-Firefox получают одного из других? Отсюда я буду рисковать предположением, что сертификат, который они получают, от значения по умолчанию virtualhost? Я буду также рисковать предположением, что Вы тестируете от системы Windows XP.

То, куда я иду с этим, - то, что у Вас есть несколько сертификатов SSL все связанные с тем же портом, и другой должен быть представлен на основе того, какое имя хоста посещают. Это зависит от Признака Имени сервера, который не поддерживается более старыми браузерами или библиотеками шифрования XP.

К сожалению, обходные решения для этого (в котором Вы будете нуждаться, существует слишком много старых браузеров там все еще) нетривиальны; купите новый сертификат, на котором это покроет все на том порте (подстановочный знак или Подчиненный сертификат Альтернативного названия), или добавит дополнительный IP к серверу для другого VirtualHost для слушания только с его собственным сертификатом.

12
задан 8 March 2014 в 02:34
3 ответа

Update 2019: This answer and question is obsolete. See Bill_Stewart's answer.

From man 5 sshd_config

 UsePrivilegeSeparation
     Specifies whether sshd separates privileges by creating an
     unprivileged child process to deal with incoming network traffic.
     After successful authentication, another process will be created
     that has the privilege of the authenticated user.  The goal of
     privilege separation is to prevent privilege escalation by con-
     taining any corruption within the unprivileged processes.  The
     default is "yes".

So sshd requires two types of accounts:

  1. One with the ability to setuid.
  2. One unprivileged account.

The setup script explains that the usual SYSTEM account doesn't have setuid privilege, thus the need for the additional privileged account.

4
ответ дан 2 December 2019 в 21:39

На вопрос, почему ssh-host-config создает две учетные записи пользователей, в основном отвечает Дэн. Подробнее о том, почему для setuid требуется отдельная учетная запись, можно найти здесь, это сложный процесс .

Что касается вашего первого подвопроса, я считаю, что это также значения по умолчанию, как истечение срока действия пароля - в / usr / share / csih / cygwin-service-installation-helper , используемом ssh-host-config, пользователь создается (с помощью команды Windows net) следующим образом, где $ {unpriv_user} - это имя, подобное sshd, которое вы выбрали, а $ {dos_var_empty} - это путь в стиле Windows / DOS к / var / empty :

net user "${unpriv_user}" /add /fullname:"${unpriv_user} privsep" \
"/homedir:${dos_var_empty}" /active:no

В документации Microsoft говорится, что значение по умолчанию для / passwordreq , если требуется пароль, - да, и кажется, что Windows затем назначает какой-то пароль по умолчанию (вероятно, потому что пароль не не указано, возможно, в частности, потому что / active: no ).

А для вашего второго подвопроса, как вы сказали во втором редактировании, значение по умолчанию, по крайней мере для Windows 8.1 Pro, см. ems - срок действия пароля через 42 дня, хотя он, конечно, не включен в моей учетной записи ИЛИ в новой учетной записи cyg_server . Вероятно, это из-за той же комбинации - cyg_server указывает пароль и активен, но sshd не указывает пароль и не активен (возможно, это для принудительного назначения пароля, если / когда учетная запись активирована). Если вы хотите узнать точную информацию, я бы, вероятно, попытался создать больше похожих учетных записей с истечением срока действия / указанием пароля и посмотреть, что произойдет.

4
ответ дан 2 December 2019 в 21:39

Отдельная отключенная учетная запись sshd фактически не используется в Cygwin (по крайней мере, больше). Я спросил об этом в списке рассылки Cygwin:

Требуется ли по-прежнему отключенная учетная запись пользователя sshd?

Коринна Виншен (сопровождающая Cygwin) ответила следующее:

Нет, на самом деле это не так. В наши дни сервер sshd проверяет, следует ли использовать среду privsep chrrot [sic], и что процесс запускается от имени "root: root". Это никогда не соответствует Cygwin, поэтому мы можем отказаться от требования пользователя sshd.

(См. https://cygwin.com/ml/cygwin/2019-01/msg00120.html )

Поэтому отмеченный ответ на этот вопрос неверен для Cygwin.

(Возможно, кто-то обновит сценарий ssh-host-config в какой-то момент, чтобы отказаться от создания учетной записи sshd . )

Обновление от 18.04.2019

Вышесказанное верно в том смысле, что учетная запись sshd не требуется строго. Единственный раз, когда он вам все еще понадобится, это если вы хотите использовать параметр ChrootDirectory в sshd_config , чтобы ограничить учетную запись только SFTP.

FWIW, я создал пакет, который предоставляет простой в использовании установщик, который настраивает версию OpenSSH для Cygwin (и несколько других инструментов, включая rsync ). Если кому-то интересно, это на GitHub:

https://github.com/Bill-Stewart/Cygwin-OpenSSH

В документации пакета описаны обстоятельства, при которых используется учетная запись sshd .

1
ответ дан 2 December 2019 в 21:39

Теги

Похожие вопросы