Hallo,
ich versuche mich seit ca. 3 Tagen in cygwin (Version 1.7.1, unter Windows XP) reinzufitzen, um eine rsync-Backuplösung für meinen VServer einzurichten. Installation und Einrichtung der Benutzer, SSH Keys und des SSH Dienstes klappten soweit ganz gut.
Mein erstes größeres Problem war (ist), dass ich keine Verbindung zu dem cygwin-Server über Putty mittels private/public key Verfahren herstellen konnte (per Login/Passwort klappt es jedoch einwandfrei). Die Anmeldung des SSH Dienstes erfolgte dabei als "Lokales System". Beim Login-Versuch erhielt ich folgende Fehlermeldung in der Konsole:
2 [main] -bash 3424 C:\cygwin\bin\bash.exe: *** fatal error - couldn't
dynamically determine load address for 'WSAGetLastError' (handle
0xFFFFFFFF), Win32 error 126
Aktiviere ich zusätzlich die Funktion "Datenaustausch zwischen Dienst und Desktop zulassen" in den Dienste-Einstellungen (Registerkarte: Anmelden), erhalte ich die Fehlermeldung zwar nicht mehr, der Server trennt aber ebenfalls gleich wieder die Verbindung, bevor der Prompt erscheint. Wie mir angezeigt wird, scheint die Authentifizierung mit dem key jedoch zunächst erfolgreich gewesen zu sein. Die Verbindung wird also nicht generell abgeblockt.
Nun habe ich die Anmeldung des SSH Dienstes auf ein spezielles Konto definiert, nämlich das Windows-Benutzerkonto, unter dem ich selber gerade angemeldet bin (in der Form: vorname.name). Dieses Konto ist das einzige, womit ich arbeite und es hat Administrator-Rechte. Ein extra Administrator-Konto existiert zwar (vermutlich von der Windows-Standardinstallation), wurde aber noch nie von mir verwendet (es gibt auch kein Windows-Profil). Erstaunlicherweise funktioniert der SSH Login über Putty darüber auch mittels Key-Files.
Zunächst dachte ich, dass damit all meine Probleme gelöst wären, was aber offensichtlich nicht der Fall ist. Bei allen Dateien unter cygwin wird mir als Besitzer: vorname.name [1003] bzw Gruppenzugehörigkeit: Kein [513] angezeigt. Ich hab Zugriff auf alle Dateien, kann diese ändern, umbenennen, löschen usw, gehe also davon aus, dass ich Administratorrechte besitze, so wie es sein sollte.
Mein Problem liegt jetzt jedoch bei rsync. Führe ich unter cygwin rsync aus, um damit bestimmte Dateien von meinem externen VServer zu holen, erhalten diese Dateien ebenfalls die Rechte vorname.name:Kein, wie alle Dateien auf dem cygwin System. Auf dem VServer hingegen hatten die Dateien andere Rechte, z.b. root:root, www-data:www-data oder irgendeinnamesacln. Trotz des -a Parameters bei rsync (welches ja auch -o und -g beinhaltet und somit die Rechte beibehalten sollte), werden die Rechte nicht beibehalten. Woran kann das liegen?
Nach längerem Recherchieren habe ich keine Lösung finden können und vermute, dass es mglw. mit den Anmelde-Einstellungen zu tun hat, die ich vorher im SSH Dienst vorgenommen habe. Auch habe ich Lösungsansätze gefunden, wie man offensichtlich mit Angabe von CYGWIN=nontsec das Windows-System daran hindern kann, sich in die Rechtevergabe von cygwin einzumischen. Irgendwie war ich damit aber auch nicht erfolgreich. Zumal dies wohl nur bei Aufruf über die cygwin.bat funktioniert, nicht aber per SSH Zugriff über Putty. Auch habe ich gelesen, dass es hier Änderungen zwischen cygwin 1.5 und 1.7 gegeben haben soll. Hier hat wohl jemand das gleiche Problem aber auch keine Lösung:
http://cygwin.com/ml/cygwin/2009-07/msg00567.html
Inzwischen bin ich äußerst ratlos und kurz davor, cygwin wieder runter zu schmeißen, da es so als Backup-Lösung absolut nicht zu gebrauchen ist. Aber vielleicht liegt das Problem ja auch ganz woanders und ist einfach zu lösen (wenn man nur wüsste, wie). Also hat vielleicht noch jemand einen Tipp für mich?
Vielen Dank.
ich versuche mich seit ca. 3 Tagen in cygwin (Version 1.7.1, unter Windows XP) reinzufitzen, um eine rsync-Backuplösung für meinen VServer einzurichten. Installation und Einrichtung der Benutzer, SSH Keys und des SSH Dienstes klappten soweit ganz gut.
Mein erstes größeres Problem war (ist), dass ich keine Verbindung zu dem cygwin-Server über Putty mittels private/public key Verfahren herstellen konnte (per Login/Passwort klappt es jedoch einwandfrei). Die Anmeldung des SSH Dienstes erfolgte dabei als "Lokales System". Beim Login-Versuch erhielt ich folgende Fehlermeldung in der Konsole:
2 [main] -bash 3424 C:\cygwin\bin\bash.exe: *** fatal error - couldn't
dynamically determine load address for 'WSAGetLastError' (handle
0xFFFFFFFF), Win32 error 126
Aktiviere ich zusätzlich die Funktion "Datenaustausch zwischen Dienst und Desktop zulassen" in den Dienste-Einstellungen (Registerkarte: Anmelden), erhalte ich die Fehlermeldung zwar nicht mehr, der Server trennt aber ebenfalls gleich wieder die Verbindung, bevor der Prompt erscheint. Wie mir angezeigt wird, scheint die Authentifizierung mit dem key jedoch zunächst erfolgreich gewesen zu sein. Die Verbindung wird also nicht generell abgeblockt.
Nun habe ich die Anmeldung des SSH Dienstes auf ein spezielles Konto definiert, nämlich das Windows-Benutzerkonto, unter dem ich selber gerade angemeldet bin (in der Form: vorname.name). Dieses Konto ist das einzige, womit ich arbeite und es hat Administrator-Rechte. Ein extra Administrator-Konto existiert zwar (vermutlich von der Windows-Standardinstallation), wurde aber noch nie von mir verwendet (es gibt auch kein Windows-Profil). Erstaunlicherweise funktioniert der SSH Login über Putty darüber auch mittels Key-Files.
Zunächst dachte ich, dass damit all meine Probleme gelöst wären, was aber offensichtlich nicht der Fall ist. Bei allen Dateien unter cygwin wird mir als Besitzer: vorname.name [1003] bzw Gruppenzugehörigkeit: Kein [513] angezeigt. Ich hab Zugriff auf alle Dateien, kann diese ändern, umbenennen, löschen usw, gehe also davon aus, dass ich Administratorrechte besitze, so wie es sein sollte.
Mein Problem liegt jetzt jedoch bei rsync. Führe ich unter cygwin rsync aus, um damit bestimmte Dateien von meinem externen VServer zu holen, erhalten diese Dateien ebenfalls die Rechte vorname.name:Kein, wie alle Dateien auf dem cygwin System. Auf dem VServer hingegen hatten die Dateien andere Rechte, z.b. root:root, www-data:www-data oder irgendeinnamesacln. Trotz des -a Parameters bei rsync (welches ja auch -o und -g beinhaltet und somit die Rechte beibehalten sollte), werden die Rechte nicht beibehalten. Woran kann das liegen?
Nach längerem Recherchieren habe ich keine Lösung finden können und vermute, dass es mglw. mit den Anmelde-Einstellungen zu tun hat, die ich vorher im SSH Dienst vorgenommen habe. Auch habe ich Lösungsansätze gefunden, wie man offensichtlich mit Angabe von CYGWIN=nontsec das Windows-System daran hindern kann, sich in die Rechtevergabe von cygwin einzumischen. Irgendwie war ich damit aber auch nicht erfolgreich. Zumal dies wohl nur bei Aufruf über die cygwin.bat funktioniert, nicht aber per SSH Zugriff über Putty. Auch habe ich gelesen, dass es hier Änderungen zwischen cygwin 1.5 und 1.7 gegeben haben soll. Hier hat wohl jemand das gleiche Problem aber auch keine Lösung:
http://cygwin.com/ml/cygwin/2009-07/msg00567.html
Inzwischen bin ich äußerst ratlos und kurz davor, cygwin wieder runter zu schmeißen, da es so als Backup-Lösung absolut nicht zu gebrauchen ist. Aber vielleicht liegt das Problem ja auch ganz woanders und ist einfach zu lösen (wenn man nur wüsste, wie). Also hat vielleicht noch jemand einen Tipp für mich?
Vielen Dank.