Служба SSH не запускается на новой установке Cygwin 1.7.15

Служба SSH не запускается на новой установке Cygwin 1.7.15

ОС: Windows 7 x64
Cygwin: 1.7.15-1
OpenSSH: 6.0p1-1


Я пытаюсь установить SSH-сервер на Windows 7. Учебник, которому я следую, чтобы это сделать, находится здесь:http://www.howtogeek.com/howto/41560/how-to-get-ssh-command-line-access-to-windows-7-using-cygwin/

Проблема в том, что при выполнении net start sshdкоманды я получаю следующий вывод:

Запускается служба CYGWIN sshd.
Не удалось запустить службу CYGWIN sshd.

Служба не сообщила об ошибке.

Дополнительную справку можно получить, набрав NET HELPMSG 3534.

Вот полный вывод установки:

AdminUser@ThisComputer ~
$ ssh-хост-config

*** Информация: Генерация /etc/ssh_host_key
*** Информация: Генерация /etc/ssh_host_rsa_key
*** Информация: Генерация /etc/ssh_host_dsa_key
*** Информация: Генерация /etc/ssh_host_ecdsa_key
*** Информация: Создание файла /etc/ssh_config по умолчанию
*** Информация: Создание файла /etc/sshd_config по умолчанию
*** Информация: разделение привилегий по умолчанию установлено на «да», начиная с OpenSSH 3.3.
*** Информация: Однако для этого требуется непривилегированная учетная запись под названием «sshd».
*** Информация: Для получения дополнительной информации о разделении привилегий прочтите /usr/share/doc/openssh/README.privsep.
*** Запрос: Следует ли использовать разделение привилегий? (да/нет) да
*** Информация: Обратите внимание, что для создания нового пользователя требуется, чтобы текущая учетная запись была
*** Информация: Права администратора. Если этот скрипт попытается создать
*** Запрос: новая локальная учетная запись «sshd»? (да/нет) да
*** Информация: Обновление файла /etc/sshd_config

*** Запрос: Хотите ли вы установить sshd как службу?
*** Запрос: (Скажите «нет», если он уже установлен как служба) (да/нет) да
*** Запрос: Введите значение CYGWIN для демона: []
*** Информация: В Windows Server 2003, Windows Vista и выше
*** Информация: учетная запись SYSTEM не может быть назначена другим пользователям — возможность
*** Информация: sshd требует. Вам необходимо иметь или создать привилегированный
*** Информация: аккаунт. Этот скрипт поможет вам это сделать.

*** Информация: Судя по всему, вы используете Windows XP 64bit, Windows 2003 Server,
*** Информация: или позже. На этих системах невозможно использовать LocalSystem
*** Информация: учетная запись для служб, которые могут изменить идентификатор пользователя без
*** Информация: явный пароль (например, вход без пароля [например, открытый ключ
*** Информация: аутентификация через sshd).

*** Информация: Если вы хотите включить эту функцию, необходимо создать
*** Информация: новая учетная запись с особыми привилегиями (если аналогичная учетная запись не существует)
*** Информация: уже существует). Эта учетная запись затем используется для запуска этих специальных
*** Информация: серверы.

*** Информация: Обратите внимание, что для создания нового пользователя требуется, чтобы текущая учетная запись
*** Информация: иметь права администратора.

*** Информация: Не удалось найти привилегированную учетную запись.

*** Информация: Этот скрипт планирует использовать «cyg_server».
*** Информация: «cyg_server» будет использоваться только зарегистрированными службами.
*** Запрос: Хотите ли вы использовать другое имя? (да/нет) нет
*** Запрос: Создать новую привилегированную учетную запись пользователя «cyg_server»? (да/нет) да
*** Информация: Пожалуйста, введите пароль для нового пользователя cyg_server. Пожалуйста, убедитесь, что
*** Информация: этот пароль соответствует правилам создания паролей, заданным в вашей системе.
*** Информация: Если не ввести пароль, конфигурация будет прервана.
*** Запрос: Введите пароль:
*** Запрос: Повторите ввод:

*** Информация: Пользователь «cyg_server» создан с паролем «[CENSORED]».
*** Информация: Если вы меняете пароль, не забудьте также сменить
*** Информация: пароль для установленных служб, которые используют (или скоро будут использовать)
*** Информация: учетная запись «cyg_server».

*** Информация: Также имейте в виду, что пользователю cyg_server необходимы права на чтение.
*** Информация: обо всех соответствующих файлах пользователей для служб, работающих как «cyg_server».
*** Информация: В частности, для сервера sshd все пользовательские .ssh/authorized_keys
*** Информация: файлы должны иметь соответствующие разрешения для разрешения открытого ключа.
*** Информация: аутентификация. (Повторный) запуск ssh-user-config для каждого пользователя установит
*** Информация: эти разрешения корректны. [Аналогичные ограничения применяются для
*** Информация: например, для файлов .rhosts, если запущен сервер rshd и т. д.].


*** Информация: Служба sshd установлена ​​под 'cyg_server'
*** Информация: аккаунт. Чтобы запустить службу сейчас, вызовите `net start sshd' или
*** Информация: `cygrunsrv -S sshd'. В противном случае он запустится автоматически
*** Информация: после следующей перезагрузки.

*** Информация: Конфигурация хоста завершена. Приятного просмотра!

AdminUser@ThisComputer ~
$ чистый старт sshd
Запускается служба CYGWIN sshd.
Не удалось запустить службу CYGWIN sshd.

Служба не сообщила об ошибке.

Дополнительную справку можно получить, набрав NET HELPMSG 3534.

Обратите внимание, что в строке *** Query: Enter the value of CYGWIN for the daemon: []я ничего не ввел. В руководствах часто говорят использовать ntsecили ntsec ttyздесь, но эти опции удалены из последней версии OpenSSH. Я все равно пробовал их использовать, и результат тот же.

Файл /var/log/sshd.logпуст. Если я попробую просто запустить команду, /usr/sbin/sshdто получу вывод /var/empty must be owned by root and not group or world-writable.. Каталог /var/empty имеет следующие разрешения: drwxr-xr-x+ 1 cyg_server root 0 May 29 15:28 empty. Поиски этой ошибки в Google не дали никаких рабочих исправлений. Один человек, кажется, решил ее с помощью команды, chown SYSTEM /var/emptyно в моем случае это не исправило ситуацию.

решение1

Попробуйте отключить разделение привилегий в/etc/sshd_config

решение2

Под Cygwin /var/emptyнеобходимо иметь владельцапользователем, запустившимsshd. (Если вы не отключите разделение привилегий!)

Отполезное письмо в список рассылки Cygwin в 2012 году от Коринны Виншен

Обычно sshd проверяет, принадлежит ли /var/empty пользователю с uid 0. В Cygwin, где обычно нет пользователя с uid 0,код был изменен для проверки того, принадлежит ли /var/empty пользователю, запустившему sshd. Итак, если вы запускаете sshd в командной строке, вам нужно chown /var/empty на текущую учетную запись пользователя. То же самое касается файлов, связанных с ssh, в /etc. Сообщение об ошибке — это сообщение об ошибке vanilla upstream. Оно не было изменено для Cygwin, чтобы сохранить небольшой набор исправлений upstream, связанный с Cygwin.

решение3

В моем случае у меня был конфликт с другим сервисом. Я установил пробную версию Bitvise, чтобы попробовать хостинг SSH-сервера.

Когда я установил Cygwin OpenSSH, мне нужно было остановить службу Bitvise, чтобы иметь возможность запустить Cygwin sshd.

Связанный контент