Как удалить / переустановить cygwin для использования sshd?

17

Я установил cygwin / sshd без хороших результатов. Я удалил каталог c: \ cygwin для переустановки. Я удалил пользователя sshd Administrator вручную.

Я снова переустановил Cygwin, затем запустил 'ssh-host-config -y'. Странно, он ничего не спрашивает о создании нового пользователя. И процедура действительно короткая.

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

*** Информация: Конфигурация хоста закончена. Веселиться!

Когда я запускаю 'cygrunsrv -S sshd', я получаю сообщение об ошибке. Msgstr "Ошибка 3269 в Win 32: служба не запущена из-за ошибки входа в систему". Это разумное сообщение, так как я удалил sshd как пользователь, и процедура переустановки снова ничего не сделала для этого.

Я вижу, что у меня что-то не так с удалением.

Q: Как я могу удалить вещь, связанную с sshd, чтобы я мог переустановить ее снова?

prosseek
источник
Если
ничего не помогает

Ответы:

37

Если SSHD был ранее установлен в системе, следующая процедура очистки должна выполняться перед вызовом SSH-хост-конфигурации:

# Remove sshd service
cygrunsrv --stop sshd
cygrunsrv --remove sshd

# Delete any sshd or related users (such as cyg_server) from /etc/passwd
#   (use your favorite editor)

# Delete any sshd or related users (such as cyg_server) from the system
net user sshd /delete
net user cyg_server /delete
Kentgrav
источник
Обратите внимание, что, как и при установке sshd, оболочка cygwin должна запускаться от имени администратора.
f.ardelian
3
Там не было никакого файла /etc/passwdдля меня. Кроме этого, это сработало!
Джон
Вы сказали «# Удалить любого sshd или связанных пользователей (таких как cyg_server) из / etc / passwd» OK. Но затем вы сказали: «# Удалите всех sshd или связанных пользователей (таких как cyg_server) из системы». Это, кажется, повторяется. А потом вы сказали, что команды net user находятся под этой строкой. Но эти команды не удаляют пользователей из системы. Они удаляют сервисы.
Бароп
С пользователями системы он ссылается на пользователей вашего компьютера с Windows. С пользователями / etc / passwd он ссылается на пользователей, определенных в этом файле для среды Cygwin Unix-y (если есть). «Эти команды» действительно удаляют пользователей: technet.microsoft.com/en-us/library/cc771865(v=ws.11).aspx
ndemou
4

Мне пришлось сделать три шага, чтобы его переустановить.

  • удалить LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ sshd
  • запустите 'sc delete sshd'
  • перезагрузка

Проблема в том, что я не могу войти в Cygwin с Mac, и именно поэтому я попытался переустановить Cygwin.

Я сделал еще одну ветку об этой проблеме. -> Я не могу войти в cygwin / ssh с Mac

prosseek
источник
Я нашел мой в ControlSet002 после быстрого поиска ключей, соответствующих «sshd»
ndemou
1

Глядя на эту ссылку

https://www.cygwin.com/ml/cygwin/2014-03/msg00315.html

чье-то предложение по вышеуказанной ссылке, похоже, является отличным контрольным списком, исчерпывающим, без ярлыков и быстро, и IIRC это сработало для меня.

Удалите все файлы, связанные с ssh из / etc.
Удалить / var / empty.
Удалите логи ssh из / var / log.
Удалите учетные записи sshd и cyg_server из SAM. Удалите оба из / etc / passwd.
Удалите службу sshd. Начать сначала.

Примечание. Там, где написано «начать сначала», это может быть американский разговор для перезапуска, в данном случае Windows. Там, где говорится об удалении службы, может потребоваться или вы хотите остановить службу перед ее удалением. Может случиться так, что вам не нужно перезапускать, хотя вы можете. (так что вы можете просто перезагрузить компьютер, если он все еще не работает). А там, где написано «ваш SAM», это означает, что там, где хранятся пользователи Windows - они отображаются в «управлении компьютером» - cygwin ssh добавляет туда пользователей, я вижу там пользователей cyg_server и sshd, вы можете удалить их из графического интерфейса или командной строки. И повторная остановка и удаление службы, есть много команд, которые могут. cygrunsrv, sc, net, и тех, я не видел преимущества с cygrunsrv. и этот сойкадумает, что sc более надежно останавливает или удаляет их, что может быть и так. В других ответах вы рассмотрели повторные команды для остановки и удаления службы.

barlop
источник