Ошибка шпатлевки: операция / bin / bash не разрешена при подключении к Cygwin sshd

при попытке подключиться к SSH серверу с помощью PuTTY, я получаю ошибку:

/bin/bash: Operation not permitted

и тогда я получаю сообщение со словами:

Connection closed by remote host

это начало происходить неожиданно сегодня, и я понятия не имею, почему, соединение SSH раньше работало нормально.

enter image description here

то, что вызывает эту ошибку, и есть ли способ это исправить?

изменить: сервер является Windows box, а не Linux, и он работает под управлением sshd Cygwin. Также я нашел этот пост, который, я думаю, может быть актуальным -https://cygwin.com/ml/cygwin/2016-03/msg00097.html

0
задан Alan 2017-09-14 11:48:29
источник

5 ответов

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

https://cygwin.com/ml/cygwin/2015-08/msg00162.html

на сервере cygwin:

  1. Откройте Панель управления > Администрирование.
  2. Выбираем Локальная Политика Безопасности > Локальные Политики > Назначение Прав Пользователя.
  3. щелкните правой кнопкой мыши заменить маркер уровня процесса и выберите Безопасность или Свойства.
  4. Нажмите кнопку Добавить, чтобы добавить учетную запись, на которой запущен sshd. ( cyg_server в моем случае )
  5. gpupdate
  6. перезапустить службу sshd

теперь попробуйте подключиться по ssh ... Мне это удалось

3
отвечен Константин Брызгалов 2017-12-09 22:28:24
источник

У меня была эта проблема и решить ее.

изначально я следовал ответу от Константин Брызгалов и смог войти в систему с паролем,но не смог получить аутентификацию с открытым ключом. (Я создал локальную учетную запись администратора cyg_server вручную.)

на дальнейшее расследование, я читал на этой странице и он сказал, чтобы избежать наличия домена и локальной учетной записи. Я проверил, и у меня были оба; очевидно, кто-то еще моя организация работает на сервере cygwin и уже создала cyg_server в домене, который путается с моей локальной учетной записью.

Я удалил свою локальную учетную запись cyg_server, удалил службу sshd и переустановил, как описано на этой странице, и все работало отлично из коробки. Фишка в том, чтобы сказать "нет", используя существующую учетную запись cyg_server, и скажи СШ-хост-config, чтобы создать "учетную запись cyg_server1". Он создал локальную учетную запись и настроить все правильно. Конкретно:

  1. cygrunsrv --stop sshd
  2. cygrunsrv --удалить sshd
  3. панель Ctrl > учетные записи пользователей > менеджер учетных записей > (удалить локальную учетную запись cyg_server)
  4. помощи mkpasswd -Л -Д >в/etc/passwd с
  5. mkgroup -Л -Д >в/etc/группа
  6. ssh-host-config
    • перезаписать = yes
    • строгий = да
    • в Cygwin = ntsec
    • пользователей для запуска = cyg_server1
    • password = {...}

проверка учетных записей пользователей вы увидите, что cyg_server1 действительно является локальной учетной записью, но имеет дополнительные настройки.

2
отвечен maharvey67 2018-01-03 08:46:34
источник

Я забыл этот вопрос, но в конце концов решил свою проблему, перезапустив ssh-host-config в моей установке Cygwin сервера (к счастью, у меня был доступ RDP, а).

Это было все, что было нужно, но я понятия не имею, почему это работает.

1
отвечен sashoalm 2017-12-10 09:42:34
источник

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

более тщательное решение может GE найти здесь: https://cygwin.com/faq.html#faq.using.sshd-in-domain На самом деле существует 3 параметра политики, для которых необходимо настроить cyg_server:

  • действовать как часть операционной системы (SeTcbPrivilege)
  • создать объект token (SeCreateTokenPrivilege)
  • заменить маркер уровня процесса (SeAssignPrimaryTokenPrivilege)
1
отвечен Mun-dee 2018-04-17 17:18:01
источник

вот более прямой способ делать то, что говорят предыдущие сообщения от Константин брызгалов и Мун-Ди. Запустите терминал cygwin от имени администратора, а затем:

остановить запущенный sshd:

net stop sshd

дайте пользователю ssh необходимые привилегии:

editrights-A SeTcbPrivilege-u cyg_server

editrights -это SeAssignPrimaryTokenPrivilege -у cyg_server

editrights-A SeCreateTokenPrivilege-u cyg_server

перезапустите sshd:

чистый старт sshd

1
отвечен Uwe Mayer 2018-05-02 23:50:59
источник

Другие вопросы windows ssh bash putty cygwin

X