Ответ 1
Я запускаю cygwin 1.7 для Windows 7 x64 и sshd. Я не помню, чтобы получить эту ошибку, когда я запускал sshd_config, но я просто посмотрел на каталог /var/run и установил значение 777.
Попробуйте это в оболочке cygwin chmod 777 /var/run
Я поклонник Linux, но из-за плохих беспроводных драйверов Intel в Linux мне пришлось переключиться на Windows 7. Я установил Cygwin в Windows и хочу настроить SSH для удаленного подключения к моему ноутбуку.
Я искал в Google и обнаружил информацию для установки сервера openssh на Win 7, но при запуске ssh-host-config
появляется следующая ошибка:
[email protected] ~ $ ssh-host-config yes *** Info: Creating default /etc/ssh_config file *** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes *** Info: Creating default /etc/sshd_config file *** Info: Privilege separation is set to yes by default since OpenSSH 3.3. *** Info: However, this requires a non-privileged account called 'sshd'. *** Info: For more info on privilege separation read /usr/share/doc/openssh/READ ME.privsep. *** Query: Should privilege separation be used? (yes/no) no *** Info: Updating /etc/sshd_config file *** Warning: The following functions require administrator privileges! *** Query: Do you want to install sshd as a service? *** Query: (Say "no" if it is already installed as a service) (yes/no) yes *** Query: Enter the value of CYGWIN for the daemon: [] *** Info: On Windows Server 2003, Windows Vista, and above, the *** Info: SYSTEM account cannot setuid to other users -- a capability *** Info: sshd requires. You need to have or to create a privileged *** Info: account. This script will help you do so. *** Warning: The owner and the Administrators need *** Warning: to have .w. permission to /var/run. *** Warning: Here are the current permissions and ACLS: *** Warning: drwxr-xr-x 1 bala None 0 2010-01-17 22:34 /var/run *** Warning: # file: /var/run *** Warning: # owner: bala *** Warning: # group: None *** Warning: user::rwx *** Warning: group::r-x *** Warning: other:r-x *** Warning: mask:rwx *** Warning: *** Warning: Please change the user and/or group ownership, *** Warning: permissions, or ACLs of /var/run. *** ERROR: Problem with /var/run directory. Exiting.
Разрешения этой папки отображаются как доступные только для чтения (относится только к этой папке), отмеченные серым цветом. Я попытался снять флажок, но после того, как я снова открою свойства, поле снова будет проверено. Есть ли способ изменить права доступа к этой папке?
Я запускаю cygwin 1.7 для Windows 7 x64 и sshd. Я не помню, чтобы получить эту ошибку, когда я запускал sshd_config, но я просто посмотрел на каталог /var/run и установил значение 777.
Попробуйте это в оболочке cygwin chmod 777 /var/run
Извините, что расставил такой старый поток, но этот вопрос всегда возникал, когда я искал эту конкретную проблему.
Через несколько месяцев я наконец нашел решение. Когда я настраивал cygwin, у меня не было учетной записи пользователя и группы, правильно созданной в cygwin. Основной способ сделать это - запустить:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
Если вы входите в систему с использованием пользователя домена и passwd, вы можете сделать:
mkpasswd -l -d > /etc/passwd
mkgroup -l -d > /etc/group
Или, если у вас невероятно большая сеть, такая как моя, вы, возможно, этого не хотите. Альтернативой является только пользователь ваших локальных пользователей и группы плюс все, что вы в настоящее время вошли в систему, как:
mkpasswd -l > /etc/passwd
mkpasswd -c >> /etc/passwd
mkgroup -l > /etc/group
mkgroup -c >> /etc/group
После этого я наконец смог правильно запустить ssh-host-config, чтобы создать службу.
У меня было много проблем с этим. Я обнаружил, что шаги установки по умолчанию работают очень хорошо, если я:
Как только эти шаги были предприняты, шаги установки по умолчанию:
После этого все отлично работает как на Windows 7 Professional, так и на Home.
Если у вас уже есть неудачная установка Cygwin sshd, лучше всего выполнить полную деинсталляцию и начать новую работу.
Вот инструкции по удалению Cygwin, если они вам понадобятся: http://cygwin.com/faq/faq.html#faq.setup.uninstall-all
Сначала мне пришлось удалить сломанную установку:
cygrunsrv --remove sshd
rm -rf /var/log/sshd* /etc/ssh_host* /etc/sshd_config /var/empty
затем сгенерируйте passwd и группу, как указано выше:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
то я побежал:
ssh-host-config -y
cygrunsrv --start sshd
и окончательно исчезли сообщения "setuid failed", и логин работал.
В оболочке cygwin убедитесь, что вы администратор:
takeown /F "C:\cygwin" /R
icacls "C:\cygwin" /grant Everyone:\(F\) /T
icacls "C:\cygwin"
chmod 777 -R "c:\cygwin"
В проводнике Windows для папки /var
:
Свойства.
Безопасность.
Добавить группу Администраторы с полным контролем для папки и подпапки.
Это работает для меня.
Мне удалось успешно запустить ssh-host-config script, когда я установил Cygwin на жесткий диск типа NTFS. Ssh-host-config script не работал, когда у меня был Cygwin, установленный на флешке типа exFAT.
У меня была такая же проблема. Моя проблема, я считаю, состояла в том, что у меня был собственный файл /etc/fstab, где я устанавливал корневую папку с параметром "noacl". Вот как я решил проблему:
Измените пользовательский /etc/fstab:
mv /etc/fstab /etc/fstab.bak
В качестве альтернативы вы можете отредактировать файл /etc/fstab и удалить параметр noacl.
Закройте все окна Cygwin bash и любые другие процессы или службы Cygwin. Если у вас запущен любой процесс Cygwin, он будет поддерживать все настройки со старыми настройками /etc/fstab.
Запустите новое окно Cygwin bash.
Возможно, вам потребуется запустить следующее.
chmod +r /etc/passwd
chmod o+x /var
chmod +w /var/run
Перекрестите пальцы, запустите ssh-host-config, и он должен завершиться без ошибок.
Если вы переместили свой /etc/fstab на шаг 1, вы можете переместить его обратно:
mv /etc/fstab.bak /etc/fstab
Если вы создали новых пользователей после того, как вы впервые установили Cygwin, обновите /etc/passwd, иначе эти пользователи могут не войти в систему через ssh:
mkpasswd -l > /etc/passwd
Также перейдите в брандмауэр Windows и разрешите C:/cygwin/usr/sbin/sshd.exe и C:/cygwin/usr/sbin/sftp-server.exe
для Windows Пользователи запускают " Cygwin Terminal", щелкнув правой кнопкой мыши на ярлыке и запустив его как администратор....
Теперь запустите " ssh-host-config" с терминала Cygwin... Это определенно сработает.