In my case (using a Polish version of Windows I had to manually modify the /etc/passwd and /etc/group files.
Some lines for Administrator, Administrators, Guest, Guests, etc. had been missing, so I merely inserted them, and copied all other fields from their non-English versions. Eg.
nano /etc/passwd
SYSTEM:*:18:544:,S-1-5-18::
LocalService:*:19:544:U-NT AUTHORITYLocalService,S-1-5-19::
NetworkService:*:20:544:U-NT AUTHORITYNetworkService,S-1-5-20::
Administrators:*:544:544:,S-1-5-32-544::
Administratorzy:*:544:544:,S-1-5-32-544::
TrustedInstaller:*:4294967294:4294967294:U-NT SERVICETrustedInstaller,S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464::
Administrator:unused:500:513:U-gorditoAdministrator,S-1-5-21-580982140-4090956935-1935414389-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-gorditoGość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash
Gość:unused:501:513:U-gorditoGość,S-1-5-21-580982140-4090956935-1935414389-501:/home/Gość:/bin/bash
HomeGroupUser$:unused:1004:513:HomeGroupUser$,U-gorditoHomeGroupUser$,S-1-5-21-580982140-4090956935-1935414389-1004:/home/HomeGroupUser$:/bin/bash
sshd:unused:1006:513:sshd privsep,U-gorditosshd,S-1-5-21-580982140-4090956935-1935414389-1006:/var/empty:/bin/false
cyg_server:unused:1007:513:Privileged server,U-gorditocyg_server,S-1-5-21-580982140-4090956935-1935414389-1007:/var/empty:/bin/false
nano /etc/group
root:S-1-5-32-544:0:
SYSTEM:S-1-5-18:18:
TrustedInstaller:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464:4294967294:
Administrators:S-1-5-32-544:544:
Administratorzy:S-1-5-32-544:544:
Czytelnicy dzienników zdarzeń:S-1-5-32-573:573:
Guests:S-1-5-32-546:546:
Goście:S-1-5-32-546:546:
IIS_IUSRS:S-1-5-32-568:568:
Users:S-1-5-32-545:545:
Users DCOM:S-1-5-32-562:562:
Użytkownicy:S-1-5-32-545:545:
Użytkownicy DCOM:S-1-5-32-562:562:
Użytkownicy dzienników wydajności:S-1-5-32-559:559:
Użytkownicy monitora wydajności:S-1-5-32-558:558:
Użytkownicy zarządzania zdalnego:S-1-5-32-580:580:
HomeUsers:S-1-5-21-580982140-4090956935-1935414389-1003:1003:
TelnetClients:S-1-5-21-580982140-4090956935-1935414389-1005:1005:
WinRMRemoteWMIUsers__:S-1-5-21-580982140-4090956935-1935414389-1000:1000:
None:S-1-5-21-580982140-4090956935-1935414389-513:513:
Brak:S-1-5-21-580982140-4090956935-1935414389-513:513:
Only after this, I was finally able to chmod g-rwx
all the files that offended sshd, in a way that ‘ls -la’ indeed confirmed the dropped permissions for group and other.
Then finally, privileged CYGWIN services installed and started (sshd, cron)
I am using cygwin run sshd. But now the sshd is not running as a service. When I start the service using ‘net start sshd’, Message comes like, «the cygwin sshd service could not be started.The service did not report an error. More help is available by typing NET HELPMSG 3534» and if run using ‘cygrunsrv -S sshd’ the error comes like «Error starting a service. Query service status:win32 error 1062»
I have removed cygwin completely by deleting its services, server and registry. And installed again, but sshd is not running as a service.
can i have the solution for this?
asked Sep 29, 2015 at 11:42
IT researcherIT researcher
7839 gold badges30 silver badges50 bronze badges
2
Error starting a service. Query service status:win32 error 1062
Sometimes you get a sshd/cygrunsrv service error after trying to run
the service.cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
There can be a couple of causes for this. The following may fix the
problem (this is not an option on XP Home).Solution 1.
You may have an old or corrupt installation of Cygwin. Try
reinstalling.The following may also help:
cygrunsrv -R sshd
- REBOOT (or use the Task Manager to kill all instances of sshd that may be running in the background)
- run
ssh-host-config -y
again.This seemed to help on a few systems I worked on.
Solution 2.
Open an explorer window and use the «Properties | Security» dialog and
explicitly add «Full Control» for the SYSTEM user to the following
directories:C:Cygwin C:Cygwinvar C:Cygwinvarlog
Source Cygwin SSHD HowTo
See also StackOverflow question Unable to start cygwin sshd service
Further reading
- Install Secure Shell Server (sshd) on Windows using Cygwin
answered Sep 29, 2015 at 11:54
DavidPostill♦DavidPostill
149k77 gold badges344 silver badges383 bronze badges
Checking /var/log/sshd.log
sshd
complained about /var/empty
now owned by root (which is called «SYSTEM» on Windows).
The solution was to change the owner in an administrative Cygwin shell:
chown SYSTEM /var/empty
answered Feb 12, 2017 at 12:12
1
/etc/profile
только получен Вашей оболочкой входа в систему, не initscripts.
/etc/security/limits.conf
будет также только влиять на сессии входа в систему также, поскольку те пределы помещаются на месте pam_limits.so
; из pam_limits страницы справочника:
pam_limits модуль PAM устанавливает пределы для системных ресурсов, которые могут быть получены на сеансе пользователя.
Для получения поведения, Вы хотите, необходимо изменить initscript и вставить Ваш ulimit -c unlimited
команда. Как упомянутый Dom, Вы могли также сделать это путем редактирования библиотеки init-функций lsb.
задан
13 December 2011 в 18:32
Ссылка
11 ответов
Спасибо, ваше обновление было решением проблемы — для всех остальных есть рецепт №3 против ошибки Win32 1062 при запуске Cygwin:
1) Проверьте журнал событий приложения, см. если там есть события уровня «Информация», например:
«sshd: PID: Возможный дубликат cygwin1.dll:»
Найдите этот глупый дубликат в указанном месте и переименуйте его или как-нибудь избавьтесь от него в пути. Мой был в «/ cygdrive / c / Program Files (x86) /socat-1.7.2.0/cygwin1.dll.»
Boo, socat! Видимо они занимаются 3ПП . Я даже не знал, что socat был в моей системе, очевидно, он был частью какой-то другой установки. Я нашел еще двух человек в списках рассылки cygwin, страдающих от проблемы с дублированием dll.
ответ дан
2 December 2019 в 23:26
Ссылка
У меня был (почти) такой же эффект и аналогичное решение: журнал приложений показал дублированный файл
Возможный дубликат cygwin1.dll: /cygdrive/c/dakota/bin/cygwin1.dll ..
из моей установки dakota. Переименование этой dll помогло.
Спасибо!
ответ дан
2 December 2019 в 23:26
Ссылка
У меня возникла проблема с разделением привилегий. В этом случае добавление строки в файл / etc / passwd
решило проблему.
sshd: x: 74: 74: SSH с разделением привилегий: / var / empty / sshd: / sbin / nologin
ответ дан
2 December 2019 в 23:26
Ссылка
Ответ / etc / passwd был очень близок, но UID 74 был специфическим для его установки.
вместо этого используйте эту команду cygwin, чтобы получить правильный UID.
mkpasswd -l -u sshd >> / etc / passwd
ответ дан
2 December 2019 в 23:26
Ссылка
Похоже, это вызвано ЛЮБОЙ ошибкой с сервером sshd — в моем случае он заблокирован на / etc / ssh_host_rsa_key
perms — должно быть 0600. см. / var / log / sshd
или аналогичный.
ответ дан
2 December 2019 в 23:26
Ссылка
Спасибо @ HopelessN00b
, @ user155148
, @Algomorph
меня вдохновила комбинация ваших решений.
Решение
У меня было две проблемы:
- Дубликаты
cygwin1.dll
файлов. /var/log/sshd.log
: «Пользователь sshd с разделением привилегий не существует»
Мое исправление
-
Обработка кровавых дубликатов файлов рассола:
cd / cygdrive / c / Program Files (x86 ) / cwRsync / bin mv cygwin1.dll cygwin1_.dll
-
Добавлен пользователь, отредактировав
/ etc / passwd
и добавив следующую строку:sshd: x: 74: 74: SSH с разделением привилегий: / var / empty / sshd: / sbin / нологин
Обратите внимание, что имя пользователя sshd пришло из /var/log/sshd.log
.
GAD, какая это заноза в заднице!
Я нашел еще один ресурс, этот более подробный и из Oracle
Вкратце, если у вас greif:
- Выполните каждый из этих шагов ОДИН. В. А. Кровавый. ВРЕМЯ.
… исправить
….. запуститьcygrunsrv -S sshd
……. ругаться - Проверить журналы событий Windoze.
… У вас есть дублирующиеся файлы dll ?? - Взгляните на
/var/log/sshd.log
… У вас есть/ etc / passwd
probs ?
ответ дан
2 December 2019 в 23:26
Ссылка
ответ дан
2 December 2019 в 23:26
Ссылка
На клиентской системе я обнаружил программу под названием RDPlus (www.rdplus.com.au), выполняющую опцию туннелирования SSH на порту 22, которую мне пришлось отключить перед запуском Cygwin sshd. Из CMD.EXE, ‘netstat -abo’ указал на этот процесс после того, как обнаружил ошибку ‘Привязка к порту 22 на 0.0.0.0 неудачной’ в журнале регистрации событий приложения (Application Event Log). Опция ‘o’ покажет PID, который можно найти в диспетчере задач.
Чтобы отключить этот запуск, перейдите во вкладку Web и отключите SSH Tunneling.
.
ответ дан
2 December 2019 в 23:26
Ссылка
Кто-то разместил это в другом вопросе по обмену стеком, но если у вас есть пустой файл в / var / log / sshd
, попробуйте / usr / sbin / sshd
. Это выведет ошибки, которых вы не попали в журнал.
Для меня, деинсталляция служб sshd, перезагрузка и повторный запуск ssh-host-config, следуя этим инструкциям, помогли ( ls -l / var / etc
сообщил мне, что в моей первой попытке пустая папка принадлежала SYSTEM, что имеет смысл, так как я ранее следовал этому учебному пособию. , Я получил ошибку «/ var / empty должен принадлежать root, а не группе или доступу для записи всем»).
ответ дан
2 December 2019 в 23:26
Ссылка
Я использовал Cntlm
(прокси-сервер аутентификации NTLM), который также содержит cygwin1.dll
, предотвращение такого дублирования решило проблему.
ответ дан
2 December 2019 в 23:26
Ссылка
Я использую локальную учетную запись cyg_server для запуска sshd. Мне нужно было установить разрешения для / var / empty на 700, а для владельца — на cyg_server, несмотря на то, что в сообщении об ошибке говорилось, что владельцем должен быть root.
Я также удалил сообщение дня (/ etc / motd), но я не думаю, что это строго необходимо. Иногда это мешает моей автоматизации.
FWIW, cyg_server — строго локальный пользователь с правами администратора и без определения Active Directory. Он указан в реестре и в /etc/passwd.
Мне также пришлось отредактировать права cyg_server после принятия недавнего обновления Cygwin.
cygrunsrv -E sshd
editrights -a SeAssignPrimaryTokenPrivilege -u cyg_server
editrights -a SeCreateTokenPrivilege -u cyg_server
editrights -a SeTcbPrivilege -u cyg_server
editrights -a SeServiceLogonRight -u cyg_server
cygrunsrv -S sshd
остановил sshd, изменил права учетной записи службы и перезапустил sshd.
Вот как устанавливаются права после этого быстрого сеанса.
bash-4.4$ editrights -u cyg_server -l
SeAssignPrimaryTokenPrivilege
SeCreateTokenPrivilege
SeTcbPrivilege
SeServiceLogonRight
SeDenyRemoteInteractiveLogonRight
bash-4.4$
ответ дан
2 December 2019 в 23:26
Ссылка