Wie deinstalliere / installiere ich Cygwin, um die sshd zu verwenden?

52451
prosseek

Ich habe cygwin / sshd ohne gute Ergebnisse installiert. Ich habe das Verzeichnis c: \ cygwin zur Neuinstallation entfernt. Ich habe den Benutzer sshd Administrator manuell entfernt.

Ich habe Cygwin erneut installiert und dann die 'ssh-host-config -y' ausgeführt. Seltsamerweise fragt es nichts nach dem Erstellen eines neuen Benutzers. Und das Verfahren ist wirklich kurz.

$ ssh-host-config -y * Abfrage: Vorhandene Datei / etc / ssh_config überschreiben? (ja / nein) ja  Info: Standarddatei / etc / ssh_config erstellen Abfrage: Vorhandene Datei / etc / sshd_config überschreiben? (ja / nein) ja  Info: Standarddatei / etc / sshd_config erstellen  Info: Die Berechtigungstrennung ist seit OpenSSH 3.3 standardmäßig auf yes gesetzt.  Info: Dies erfordert jedoch ein nicht privilegiertes Konto mit dem Namen 'sshd'.  Info: Weitere Informationen zur Trennung von Berechtigungen finden Sie in / usr / share / doc / openssh ME.privsep. * Abfrage: Soll Privilegtrennung verwendet werden? (ja / nein) ja *** Info: Aktualisierung der Datei / etc / sshd_config

*** Info: Host-Konfiguration abgeschlossen. Habe Spaß!

Wenn ich 'cygrunsrv -S sshd' lief, erhalte ich eine Fehlermeldung. "Win 32 - Fehler 1069: Der Dienst wurde aufgrund eines Anmeldefehlers nicht gestartet". Es ist eine vernünftige Nachricht, da ich die sshd als Benutzer gelöscht habe und die Neuinstallationsprozedur nichts dafür getan hat.

Ich sehe, dass bei der Deinstallation ein Fehler aufgetreten ist.

F: Wie kann ich die sshd-bezogene Sache perfekt deinstallieren, damit ich sie erneut installieren kann?

16
Wenn alles andere fehlschlägt: https://superuser.com/questions/167219/how-to-completely-uninstall-remove-cygwin-from-windows-7 ndemou vor 6 Jahren 0

3 Antworten auf die Frage

37
Kentgrav

If sshd has been previously installed on the system, the following cleanup procedure should be performed before invoking 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 
Beachten Sie, dass die cygwin-Shell wie bei der Installation von sshd als Administrator ausgeführt werden muss. f.ardelian vor 9 Jahren 0
Es gab keine Datei `/ etc / passwd` für mich. Ansonsten funktionierte das! John vor 8 Jahren 3
Sie sagten: "Löschen Sie alle sshd oder verwandten Benutzer (z. B. cyg_server) aus / etc / passwd". Aber dann sagten Sie "# Löschen Sie alle sshd oder relaged Benutzer (wie cyg_server) vom System". Das scheint sich zu wiederholen. Und dann sagten Sie, der Netzbenutzer befehle unterhalb dieser Zeile. Diese Befehle löschen jedoch keine Benutzer aus dem System. Sie löschen die Dienste. barlop vor 8 Jahren 0
Bei Systembenutzern bezieht er sich auf Benutzer Ihres Windows-PCs. Bei den Benutzern von / etc / passwd bezieht er sich auf Benutzer, die in dieser Datei für die cygwin Unix-y-Umgebung (falls vorhanden) definiert sind. "Diese Befehle" löschen Benutzer: https://technet.microsoft.com/de-de/library/cc771865(v=ws.11).aspx ndemou vor 6 Jahren 0
4
prosseek

Ich musste drei Schritte machen, um es neu zu installieren.

  • Löschen Sie LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ services \ sshd
  • starte 'sc delete sshd'
  • Neustart

Das Problem ist, dass ich mich beim cygwin nicht vom Mac aus anmelden kann. Genau deshalb habe ich versucht, den cygwin neu zu installieren.

Ich habe einen anderen Thread zu diesem Problem gemacht. -> Ich kann mich nicht von Mac aus anmelden

Ich habe meinen in ControlSet002 nach einer schnellen Suche nach Schlüsseln gefunden, die mit "sshd" übereinstimmen. ndemou vor 6 Jahren 0
1
barlop

Betrachten Sie diesen Link

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

Der Vorschlag von jemandem aus dem obigen Link scheint eine große Checkliste zu sein, erschöpfend, keine Abkürzungen und schnell, und IIRC hat für mich funktioniert.

Entfernen Sie alle Dateien, die sich auf ssh beziehen, aus / etc.
Entfernen Sie / var / empty.
Entfernen Sie die SSH-Protokolle aus / var / log.
Entfernen Sie die Konten sshd und cyg_server aus Ihrem SAM. Beides aus / etc / passwd löschen.
Entfernen Sie den Sshd-Dienst. Von vorn anfangen.

Hinweis: Wenn dort "von vorne anfangen" steht, könnte dies amerikanisches Reden für den Neustart sein, in diesem Fall Fenster. Wenn Sie sagen, dass ein Dienst entfernt werden soll, müssen Sie möglicherweise den Dienst beenden, bevor Sie ihn entfernen. Es kann sein, dass Sie möglicherweise keinen Neustart benötigen. (Sie konnten also nur neu starten, wenn es immer noch nicht funktionierte). Und wo es heißt "Ihr SAM", das heißt, wo Windows-Benutzer gespeichert werden - sie werden in "Computerverwaltung" angezeigt - cygwin ssh fügt Benutzer dort hinzu. Ich sehe dort cyg_server und sshd-Benutzer. Sie können sie aus der GUI- oder Befehlszeile löschen. Und wenn Sie einen Dienst stoppen und löschen, gibt es viele Befehle, die dies können. cygrunsrv, sc, net und davon habe ich mit cygrunsrv keinen Vorteil gesehen. und dieser Jay-Typdenkt, sc ist zuverlässiger beim Stoppen oder Löschen, das kann der Fall sein. Bei anderen Antworten haben Sie weitere Befehle zum Beenden und Entfernen eines Dienstes behandelt.