17

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

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

$ ssh-host-config -y
* Query: Overwrite existing /etc/ssh_config file? (yes/no) 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
ME.privsep.
* Query: Should privilege separation be used? (yes/no) yes
*** Info: Updating /etc/sshd_config file

*** Info: Host configuration finished. Have fun!

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

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

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

3 ответа3

37

Если sshd ранее был установлен в системе, перед запуском ssh-host-config необходимо выполнить следующую процедуру очистки:

# 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
4

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

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

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

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

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 более надежно останавливает или удаляет их, что может быть и так. В других ответах вы рассмотрели повторные команды для остановки и удаления службы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .