Разрешения каталога для Cygwin SSH (Windows 7)

Я поклонник Linux, но из-за плохих беспроводных драйверов Intel в Linux мне пришлось переключиться на Windows 7. Я установил Cygwin в Windows и хочу настроить SSH для удаленного подключения к моему ноутбуку.

Я искал с Google и нашел информация для установки сервера openssh на Win 7, но я получаю следующую ошибку при запуске ssh-host-config:

bala@bala-PC ~
$ 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.

разрешения этой папки отображаются только для чтения (применяется только к этой папке), зарегистрировался в сером. Я попытался снять флажок, но после того, как я снова открою свойства, флажок снова установлен. Есть ли способ изменить разрешения этой папки?

9 ответов


Я запускаю 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 для создания службы.


У меня было много проблем с этим. Я обнаружил, что шаги установки по умолчанию работают просто отлично при условии, что я:

  1. запустите оболочку Cygwin как административный пользователь с параметром "Запуск от имени администратора".
  2. отключите UAC.
  3. отключена защита от вирусов в режиме реального времени.

после того, как эти шаги были предприняты, шаги установки по умолчанию:

  1. установить "openssh" из Cygwin установщик.
  2. запустите оболочку Cygwin как административный пользователь с параметром "Запуск от имени администратора".
  3. запустите "ssh-host-config" из оболочки Cygwin.
  4. Разделение привилегий: да
  5. новая локальная учетная запись "sshd": да
  6. установить sshd как сервис: да
  7. CYGWIN значение: ntsec tty
  8. другое имя для "cyg_server": нет
  9. создать новую привилегированную учетную запись пользователя "cyg_server": yes
  10. установить "cyg_server" пароль и хранить в безопасном месте
  11. net start sshd

после этого все, кажется, работает нормально как на Windows 7 Professional, так и дома.

Если у вас уже есть неудачная установка 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 & group, как указано выше:

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 только тогда, когда я установил Cygwin на жесткий диск типа NTFS. Сценарий ssh-host-config не работал, когда я установил Cygwin на флэш-накопитель типа exFAT.


у меня была та же проблема. Моя проблема, я считаю, заключалась в том, что у меня был пользовательский файл /etc/fstab, где я монтировал корневую папку с опцией "noacl". Вот как я решил проблему:

  1. переместить пользовательский /etc / fstab в сторону:

     mv /etc/fstab /etc/fstab.bak
    

    кроме того, вы можете отредактировать файл /etc/fstab и удалить параметр noacl.

  2. закройте все окна Cygwin bash и любые другие процессы или службы Cygwin. Если вы если какой-либо процесс Cygwin запущен, он будет поддерживать старые настройки /etc/fstab.

  3. запустите новое окно Cygwin bash.

  4. возможно, Вам потребуется выполнить следующее.

    chmod +r /etc/passwd
    chmod o+x /var
    chmod +w /var/run
    
  5. скрестите пальцы, запустите ssh-host-config, и теперь он должен завершиться без ошибок.

  6. если вы переместили /etc / fstab на Шаге 1, Вы можете переместить его обратно теперь:

     mv /etc/fstab.bak /etc/fstab
    
  7. если вы создали новых пользователей после первой установки Cygwin, update/etc / passwd, в противном случае эти пользователи не смогут войти через ssh:

    mkpasswd -l > /etc/passwd
    
  8. кроме того, перейдите в Брандмауэр Windows и разрешите C:/cygwin/usr/sbin/sshd - ... exe и C:/cygwin/usr/sbin/sftp-server - ... exe


для пользователей windows запустите"Cygwin Terminal" щелкнув правой кнопкой мыши на ярлык и запустить его администратор....enter image description here

Теперь Запустите "ssh-host-config " С терминала Cygwin ... это определенно сработает.