Cygwin-SSH-Server unter Windows

Mr. Brooks

Lt. Commander
Registriert
Aug. 2011
Beiträge
1.441
Hallo,

da leider OpenSSH für Windows start veraltet ist, wollte ich den SSH-Server von Cygwin unter Windows 7 versuchen. Die Installation klappte super. Ic habe dann über "ssh-host-config" Einstellungen vorgenommen. Ist aber schon ein paar Wochen her und ich habe sie einfach vergessen (z. B. Usernamen). Wenn ich über "net stop sshd" den Service beende und erneut "ssh-host-config" eingebe kommt zwar die Abfrage "Query: Should privilege separation be used", mehr aber nicht. Ich müsste nun irgendwie die config löschen oder zumindest auslesen was ich da eingegeben habe. Weiß einer ob/wie das geht?

Kann man den Cygwin-SSH-Server überhaupt unter Windows 7 mit eingeschränkten Rechten per Autostart starten oder bedarf es dazu Admin-Rechte (bei bei Autostart zwar geht, aber umständlich ist).

Mr. Brooks
 
Mach mal ein
Code:
rm -R /etc/ssh*
Dann sollten alle SSH-Settings entfernt sein.

Zu deiner zweiten Sache: Leg dir einen neuen User (der nicht der Administratoren Gruppe angehört) an und lass den Dienst unter diesem User starten.
 
Das funktionert irgendwie nicht. Wenn ich nach dem löschen ssh-host-config eingebe kommt das gleiche wie vorher: Die Abfrage "Query: Should privilege separation be used?" und dann wieder der Eingabeprompt. Ich kann keinen Benutzer festlegen.
 
Was willst du denn genau machen? Nur einen (neuen?) Nutzer hinzufügen oder um was geht es genau?
 
Mcih überhaupt anmelden. Ich hatte alles eingerichtet, aber die Anmeldedaten vergessen. Jetzt wollte ich alles neu einrichten, was aber nicht geht wie oben beschrieben.
 
Habs grad nochma probiert:
Code:
rm -R /etc/ssh*
zuerst in die Konsole, damit alle Configs gelöscht werden. Danach musst du noch die Datei /etc/passwd öffnen und die Zeile mit dem Usernamen sshd entfernen.

edit: Falls du die Parameter des Dienstes noch ändern willst, musst du diesen wohl nur entfernen und mit dem Script neu hinzufügen. Sonst kannst du die Parameter des Dienstes auch in der Registry unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\sshd\Parameters\Environment\CYGWIN ändern.
 
Zuletzt bearbeitet:
Hab ich jetzt so gemacht, da kommt wenn ich ssh-host-config eingebe

*** Query: Should privilege separation be used? (yes/no) yes
*** Info: Updating /etc/sshd_config file

*** Info: Sshd service is already installed.

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

Wieder keine Abfragen wie sie beim Erststart kommen sollten.
 
Welche Abfragen willst du denn?

Durch
Code:
rm -R /etc/ssh*
werden alle Konfigurationen zurückgesetzt. Durch die /etc/passwd und das evtl. Löschen des Users in Windows, wird der vorgefertigte User zurückgesetzt. Durch Deinstallieren des Dienstes, wird dieser zurückgesetzt. Mehr macht das Script doch nicht.

Im ersten Schritt werden die korrekten Rechte für Verzeichnisse gesetzt, danach erstellt es die Hostkeys (/etc/ssh_host_key, /etc/ssh_host_rsa_key, /etc/ssh_host_dsa_key, /etc/ssh_host_ecdsa_key), dann die Configs (/etc/ssh_config, /etc/sshd_config). Danach wird ggf. der sshd-User erstellt und zum Schluss der Dienst registriert.

Du kannst dich aber auch mit jedem anderen Benutzerkonto anmelden. Du musst nur die /etc/passwd entsprechend neu generieren.
 
Yuuri schrieb:
Welche Abfragen willst du denn?

Als ich ssh-host-config zum ersten mal ausgeführt habe, kamen ca. 5 oder 6 Abfragen, u.a. musste ich einen User und ein Passwort festlegen. Diese Anfragen kam dann nie wieder. Wieso nicht, wenn ich doch alle Einstellungen gelöscht habe.

Wenn ich jetzt ssh-host-config ausführe fragt er keine Benutzer ab. Sind die schon da trotz löschen aller Einstellungen oder legt er keine an (dann dürfte nichts gehen). Und wenn die schon Benutzereinstellungen schon da sind: Wo? In /etc/passw steht nichts.
 
Wie gesagt, alle nötigen Schritte standen schon in meinem letzten Post. Hier mal alle Kommandos, die du ausführen musst:
Code:
rm -R /etc/ssh*
sed -i "/sshd/d" /etc/passwd
cygrunsrv -R sshd
1. alle ssh Configs löschen
2. den User aus der /etc/passwd entfernen (ggf. wäre ein Löschen des Users und eine Neugenerierung besser)
3. Dienst entfernen

Die Ausgabe eines erneuten ssh-host-config wäre dann:
*** Info: Generating /etc/ssh_host_key
*** Info: Generating /etc/ssh_host_rsa_key
*** Info: Generating /etc/ssh_host_dsa_key
*** Info: Generating /etc/ssh_host_ecdsa_key
*** Info: Creating default /etc/ssh_config file
*** 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/README.privsep.
*** Query: Should privilege separation be used? (yes/no) yes
*** Info: Updating /etc/sshd_config file

*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Query: Enter the value of CYGWIN for the daemon: []
*** Info: On Windows Server 2003, Windows Vista, and above, the
*** Info: SYSTEM account cannot setuid to other users -- a capability
*** Info: sshd requires. You need to have or to create a privileged
*** Info: account. This script will help you do so.

*** Info: You appear to be running Windows XP 64bit, Windows 2003 Server,
*** Info: or later. On these systems, it's not possible to use the LocalSystem
*** Info: account for services that can change the user id without an
*** Info: explicit password (such as passwordless logins [e.g. public key
*** Info: authentication] via sshd).

*** Info: If you want to enable that functionality, it's required to create
*** Info: a new account with special privileges (unless a similar account
*** Info: already exists). This account is then used to run these special
*** Info: servers.

*** Info: Note that creating a new user requires that the current account
*** Info: have Administrator privileges itself.

*** Info: The following privileged accounts were found: 'cyg_server' .

*** Info: This script plans to use 'cyg_server'.
*** Info: 'cyg_server' will only be used by registered services.
*** Query: Do you want to use a different name? (yes/no) yes
*** Query: Enter the new user name: sshd
*** Query: Reenter: sshd

*** Warning: The specified account 'sshd' does not have the
*** Warning: required permissions or group memberships. This may
*** Warning: cause problems if not corrected; continuing...
*** Query: Please enter the password for user 'sshd':
*** Query: Reenter:


*** Info: The sshd service has been installed under the 'sshd'
*** Info: account. To start the service now, call `net start sshd' or
*** Info: `cygrunsrv -S sshd'. Otherwise, it will start automatically
*** Info: after the next reboot.

*** Info: Host configuration finished. Have fun!
Aber wie gesagt: Das brauchst du alles nicht um dich mit einem anderen Usernamen einzuloggen.
 
OK, ich konnte jetzt alles nochmal einrichten. Ich kann aber nicht auf SSH zugreifen, da falsches Passwort. Passwort stimmt aber. Evtl. hab ich mich beim Einrichten von Cygwin vertippt.

Wo in der /etc/passw stehen denn Username und Passwort. Ich sehe in den letzten beiden Zeiles etwas von ssh.
 
Zuletzt bearbeitet:
Zurück
Oben