Ich habe Cygwin und sshd unter Windows 7 installiert, kann es aber nicht zum Laufen bringen.
Ich habe den Leitfaden von http://www.noah.org/ssh/cygwin-sshd.html befolgt, aber ich bekomme immer noch:
$ cygrunsrv -S sshd
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062:
The service has not been started.
Konfigurationsdetails:
- Windows 7 in einer Domäne, die mit einem Domänenbenutzer ausgeführt wird, der über lokale Administratorrechte verfügt
netstat -a -b
meldet, dass auf Port 22 nichts ausgeführt wirdC:\cygwin\var\log\sshd.log
ist leer- Nachdem ich cygwin und sshd installiert habe, starte ich
ssh-host-config -y
- Es wurde bereits versucht, ein SYSTEM-Konto zu den 3 Verzeichnissen hinzuzufügen, keine Änderung.
- Bereits versucht ein vollständiger Systemneustart, keine Änderung
Update: Windows-Protokolle beschweren sich über Possible duplicate cygwin1.dll
cygwin
cygwin-sshd
Sorin
quelle
quelle
ssh-host-config -y
von einem Kommando prompt über einen Rechtsklick auf Als Administrator ausführen gestartet oder von einemrunas /user:Administrator c:\windows\system32\cmd.exe
Dasssh-host-config -y
muss den net start sshd / cygrunsrv ES sshd vorangestellt werden . Und wenn es nicht von einem 'Als Administrator ausführen ..' funktioniert, versuchen Sie es von einer Runas / Benutzer: ... cmd-Eingabeaufforderung.Antworten:
Vielen Dank, Ihr Update war die Lösung - für alle anderen gibt es ein Rezept Nr. 3 gegen Win32-Fehler 1062 beim Cygwin-Start:
1) Überprüfen Sie das Anwendungsereignisprotokoll, um festzustellen, ob dort Ereignisse auf "Information" -Ebene vorhanden sind, z. B.: "Sshd: PID: Mögliches Duplikat cygwin1.dll:"
Suchen Sie das alberne Duplikat an der angegebenen Stelle und benennen Sie es um oder entfernen Sie es irgendwie vom Pfad. Meins war unter "/ cygdrive / c / Programme (x86) /socat-1.7.2.0/cygwin1.dll".
Boo, socat! Anscheinend beschäftigen sie sich mit 3PP . Ich wusste nicht einmal, dass socat auf meinem System ist, anscheinend war es Teil einer anderen Installation. Ich habe 2 andere Personen in den Cygwin-Mailinglisten gefunden, die unter dem Duplikat-DLL-Problem gelitten haben.
quelle
/var/log/sshd.log
Vielen Dank
@HopelessN00b
,@user155148
,@Algomorph
eine Kombination aus Ihren Lösungen hat ich gehen.Das Kreuz
Ich hatte zwei Probleme:
cygwin1.dll
Dateien./var/log/sshd.log
: "Benutzer sshd zur Trennung von Berechtigungen existiert nicht"Mein Fix
Beschäftige dich mit den blutigen doppelten Gurkendateien:
Ein Benutzer wurde
/etc/passwd
hinzugefügt, indem die folgende Zeile bearbeitet und hinzugefügt wurde:Beachten Sie, dass der Benutzername 'sshd' von stammt
/var/log/sshd.log
.GAD, was für ein Schmerz im Arsch das ist!
Ich habe eine andere Ressource gefunden, diese etwas ausführlicher und von Oracle
Kurz gesagt, wenn Sie greif haben:
... das
Problem
cygrunsrv -S sshd
beheben ..... rennen....... reichlich fluchen
... Haben Sie doppelte DLL-Dateien?
/var/log/sshd.log
... Haben Sie
/etc/passwd
Probs?quelle
Ich hatte (fast) den gleichen Effekt und eine analoge Lösung: Das Anwendungsprotokoll zeigte eine doppelte Datei
Mögliches Duplikat cygwin1.dll: /cygdrive/c/dakota/bin/cygwin1.dll ..
von meiner Dakota Installation. Das Umbenennen dieser DLL hat den Trick getan. Vielen Dank!
quelle
Ich hatte ein Problem mit der Trennung von Privilegien. In diesem Fall wurde
/etc/passwd
das Problem durch Hinzufügen einer Zeile zur Datei behoben.quelle
Für mich stellte sich heraus, dass es sich um ein Kompatibilitätsproblem handelte. Ich habe versucht, es in Win7 auszuführen. Behoben durch Klicken mit der rechten Maustaste auf die Datei im Explorer, Aufrufen der Kompatibilität und Festlegen der Kompatibilität mit Windows Server 2003. Danach funktionierte einwandfrei.
Hier die Lösung gefunden:
http://h30499.www3.hp.com/t5/Windows-Server-2008/Installing-OpenSSH-on-Windows-server-2008/td-p/4777839#.U0cmzle2wuI
Beachten Sie, dass mein Problem speziell mit dem Versuch zusammenhängt, OpenSSH Server zu starten, der vermutlich eine Light-Version von Cygwin verwendet.
quelle
Die Antwort / etc / passwd war sehr knapp, aber die UID 74 war spezifisch für seine Installation.
Verwenden Sie stattdessen diesen Befehl cygwin, um die richtige UID abzurufen.
quelle
Dies scheint durch JEDEN Fehler mit dem sshd-Server verursacht worden zu sein - in meinem Fall, der auf Dauerwellen gesperrt ist
/etc/ssh_host_rsa_key
- sollte 0600 sein. Schauen Sie rein/var/log/sshd
oder ähnlich.quelle
Auf einem Client-System fand ich ein Programm namens RDPlus (www.rdplus.com.au), das eine SSH-Tunneloption auf Port 22 ausführte, die ich deaktivieren musste, bevor Cygwin sshd gestartet werden konnte. In CMD.EXE hat 'netstat -abo' auf diesen Prozess hingewiesen, nachdem im Anwendungsereignisprotokoll der Fehler 'Bindung an Port 22 auf 0.0.0.0 fehlgeschlagen' festgestellt wurde. Die Option 'o' zeigt die PID an, die im Task-Manager zu finden ist.
Um dies zu deaktivieren, führen Sie das RDPlus-Verwaltungstool aus, wechseln Sie zur Registerkarte Web und deaktivieren Sie das SSH-Tunneling.
quelle
Jemand hat dies auf einer anderen Stack Exchange-Frage gepostet, aber falls Sie eine leere Datei haben
/var/log/sshd
, sollten Sie es versuchen/usr/sbin/sshd
. Dadurch werden die Fehler ausgegeben, die Sie nicht im Protokoll erhalten haben.Für mich half es, die sshd-Dienste zu deinstallieren, ssh-host-config neu zu starten und dann erneut auszuführen, während ich diese Anweisungen befolgte (
ls -l /var/etc
sagte mir, dass der leere Ordner bei meinem ersten Versuch im Besitz von SYSTEM war, was sinnvoll ist, da ich folgte Dieses Tutorial zuvor. Auf diese Weise erhielt ich jedoch den Fehler "/ var / empty muss im Besitz von root sein und darf keine Gruppe oder Welt beschreibbar sein".quelle
Ich habe
Cntlm
(NTLM-Authentifizierungs-Proxy) verwendet, der auch enthältcygwin1.dll
. Die Vermeidung einer solchen Duplizierung hat das Problem behoben.quelle
Ich benutze ein lokales Konto, cyg_server, um sshd auszuführen. Ich musste die Berechtigungen für / var / empty auf 700 und den Eigentümer auf cyg_server setzen, obwohl in der Fehlermeldung angegeben wurde, dass der Eigentümer root sein muss.
Ich habe auch die Nachricht des Tages (/ etc / motd) entfernt, aber ich denke nicht, dass dies unbedingt notwendig ist. Es stört manchmal meine Automatisierung.
FWIW, cyg_server ist ein streng lokaler Benutzer mit Administratorrechten und ohne Active Directory-Definition. Es ist in der Registrierung und in / etc / passwd aufgeführt.
Ich musste auch die Rechte von cyg_server bearbeiten, nachdem ich ein aktuelles Cygwin-Update akzeptiert hatte.
hat sshd gestoppt, die Rechte des Dienstkontos geändert und sshd neu gestartet.
So werden die Rechte nach dieser kurzen Sitzung festgelegt.
quelle