it-roy-ru.com

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

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

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

 bala @ bala-PC ~ 
 $ ssh-Host-config 
 yes 
 *** Информация: создание файла по умолчанию/etc/ssh_config 
 *** Запрос: перезаписать существующий файл/etc/файл sshd_config? (да/нет) да 
 *** Информация: создание файла по умолчанию/etc/sshd_config 
 *** Информация: Разделение привилегий по умолчанию установлено в значение yes, поскольку OpenSSH 3.3 .
 *** Информация: однако Для этого требуется непривилегированная учетная запись с именем 'sshd' .
 *** Информация: Для получения дополнительной информации о разделении привилегий прочитайте /usr/share/doc/openssh/READ
ME.privsep.
** * Запрос: следует ли использовать разделение привилегий? (да/нет) нет 
 *** Информация: Обновление файла/etc/sshd_config 

 *** Предупреждение. Для следующих функций требуются права администратора! 

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

 *** Предупреждение. Владелец и администраторы должны 
 *** Предупреждение: иметь .w. Разрешение на /var/run.
*** Предупреждение: Вот текущие разрешения и ACLS: 
 *** Предупреждение: drwxr-xr-x 1 bala Нет 0 2010-01-17 22:34/var /run
*** Предупреждение: # файл: /var/run
*** Предупреждение: # владелец: bala 
 *** Предупреждение: # группа: нет 
 *** Предупреждение: пользователь :: rwx 
 *** Предупреждение: группа :: rx 
 *** Предупреждение: другое: rx 
 *** Предупреждение: маска: rwx 
 *** Предупреждение: 
 ** * Предупреждение: Пожалуйста, измените владельца пользователя и/или группы, 
 *** Предупреждение: права доступа или ACL /var/run.

*** ОШИБКА: Проблема с каталогом/var/run. Выход .

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

15
Boolean

Я использую Cygwin 1.7 на Windows 7 x64 и sshd. Я не помню, как получал эту ошибку, когда запускал sshd_config, но я просто посмотрел на мой каталог/var/run, и он установлен на 777.

Попробуйте это в оболочке cygwin chmod 777 /var/run

5
karoberts

Извините, что скрыл такую ​​старую ветку, но этот вопрос всегда возникал, когда я гуглял эту конкретную проблему.

Через несколько месяцев я наконец нашел решение. Когда я настраивал 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 для создания службы.

8
Matthew Flower

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

  1. Запустите Cygwin Shell от имени администратора с параметром «Запуск от имени администратора».
  2. UAC отключен.
  3. Отключить антивирусную защиту в режиме реального времени.

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

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

После этого все работает нормально как на Windows 7 Professional, так и на Home.

Если у вас уже была неудачная установка Cygwin sshd, лучше всего выполнить полное удаление и начать все заново.

Вот инструкции по удалению Cygwin, если они вам нужны: http://cygwin.com/faq/faq.html#faq.setup.uninstall-all

4
Jason Stewart

Сначала я должен был удалить сломанную установку:

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 исчезли, и вход в систему сработал.

3
dothebart

В оболочке Cygwin убедитесь, что вы являетесь администратором, а затем:

takeown /F "C:\cygwin" /R
icacls "C:\cygwin" /grant Everyone:\(F\) /T
icacls "C:\cygwin"
chmod 777 -R "c:\cygwin"
2
N0thing

В проводнике Windows для папки /var:

Свойства.
Безопасность.
Добавить администраторов группы с полным контролем для папка и подпапки.

Меня устраивает.

1
AltAir

Я смог запустить скрипт ssh-Host-config только успешно, когда установил Cygwin на жесткий диск типа NTFS. Скрипт ssh-Host-config не работал, когда у меня был установлен Cygwin на флешке типа exFAT.

0
Joe Hunt

для Windows Пользователи запускают «Cygwin Terminal», щелкая правой кнопкой мыши по ярлыку и запуская его от имени администратора ....  enter image description here

Теперь запустите "ssh-Host-config" из терминала Cygwin ... Это определенно будет работать. 

0
Kunal

У меня была такая же проблема. Я считаю, что моя проблема заключалась в том, что у меня был собственный файл/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, обновите/etc/passwd, в противном случае эти пользователи не смогут войти через ssh:

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

0
ahmetsacan