PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : sftp per skript auf einen Windows-Server



Andislack
08.11.07, 07:21
Hallo,

ich komm grad nicht weiter:
Muss von einem Windowsserver am Besten per scp täglich eine Datei laden.
Um das zu automatisieren, wollte ich das natürlich in ein Skript packen, ein authorized_keys file auf den Gegenüber packen und per cron starten.
Jetzt ist aber der Gegenüber ein Windowsserver.
Per ssh einloggen geht, da hab ich witzigerweise die WindowsEingabebox in der Konsole - manuell, also nicht per skript.
Das absolute Verzeichnis am Windows Server habe ich auch.
Starte ich aber jetzt scp:
scp user@windowsserver:/datei /home/user/datei
Password:******
kommt: Directory or file not found
scp user@windowsserver:c:\absoluter\pfad\datei /home/user/datei
Password:******
kommt ebenfalls: Directory or file not found

Mache ich testweise ein
sftp user@windowsserver
user@windowsserver's password:******
bin ich im root meines Accounts und bekomme mit GET datei die gewünschte Datei.

Jetzt habe ich natürlich das Problem, wie ich ein authorized_keys file dahin bekomme - bzw. wohin wenn es denn überhaupt geht?
Ich habe eins erstellt und ein Verzeichnis .ssh erstellt - authorized_keys hinkopiert, aber ich werde immer nach dem Passwort gefragt.
Geht das über mit Windowsservern als Gegenüber?

Hat da jemand eine Idee wie ich das bewerkstelligen kann?
Das komische ist, dass mit gFTP mit SSH2 als Protokoll auch funktioniert. Das ist doch dann auch nix anderes als SCP oder?

Hat da vielleicht jemand eine Idee?

Andi

Andislack
09.11.07, 07:45
keiner ne Idee?

ANdi

temir
10.11.07, 14:22
Vielleicht hat bis jetzt keiner eine Idee gehabt, weil es nicht ganz klar ist, von welchem OS zu welchem OS der Connect stattfindet.
Wenn z.B. Linux Client -> Windows mit sshd: was für sshd läuft auf Win?
Wenn man sich per sftp verbindet, was liefert `pwd`? (Directory/File bei SCP not found).

Ansonsten ist das Thema schon öfter diskutiert worden; könnte mir vorstellen, dass die SuFu sogar ein ähnliches Szenario in den Ergebnissen ausspuckt; falls nicht - melden.

Andislack
12.11.07, 00:00
Hi,

pwd auf dem Windows-Server in einer sftp-Session:

sftp> pwd
Remote working directory: /

Es geht von einem Linux-Client -> Windows Server.

Es funktioniert jetzt, weil:
scp user@windowsserver:c:\absoluter\pfad\datei /home/user/datei
Password:******
ist falsch, aber:
scp user@windowsserver:/absoluter/pfad/datei /home/user/datei
Password:******
ist richtig. Auf diese Variante bin ich bei meinen Tests gerade eben erst gestoßen, als ich auf deine Nachricht antworten wollte...
Insofern vielen Dank für deine Nachricht :)

Andi

Andislack
12.11.07, 08:29
hi,

zu früh gefreut...
Vor lauter Euphorie, dass ich nun per scp auch Dateien laden kann, hab ich ganz den Focus verloren...

Der automatisierte Login geht dadurch natürlich immer noch nicht.

Ich habe nochmal per scp ein erstelltes authorized_keys file von dem Linux-Client auf den Windows-Server geschoben. In ein .ssh Verzeichnis in dem root-Directory (hab ich selber erstellt) meines Accounts auf dem Windows-Rechner. Leider werde ich immer noch nach dem Passwort gefragt.
Bei ssh, scp und sftp ist das so.
Welcher sshd auf dem Windows-Server ist, weiß ich nicht - mit dem Server hab ich nichts zu tun.

Die SUFU hab ich schon lange gequält, aber leider nichts entsprechendes gefunden. Wenn jemand mehr gefunden hat oder weiß, bitte lasst es mich wissen!

Danke für Tipps!

Andi

temir
12.11.07, 17:20
Falls du ein RSA-keypair im Linux generiert hast, liegen die beiden by default in ~/.ssh:
id_rsa (chmod 600, weil Priv)
id_rsa.pub (chmod 640 oder 644, weil Pub).

Den Inhalt des Pub-Keys musst du in die ~/.ssh/authorized_keys auf dem Server kopieren.
Wenn der RSA-PrivKey nicht ~/.ssh/id_rsa ist, kann man ihn angeben:


ssh -i MY_SUPERKEY user@server

Für DSA-Keys gilt das gleiche wie für RSA-Keys (vorausgesetzt, Server kennt DSA-Keys).

Sehr hilfreich ist die "-v"-, bzw. "-vvv"-Option beim ssh:


ssh -vvv user@server

- damit sieht man, ob der Key angezogen/erkannt etc... wird.

Andislack
13.11.07, 12:02
hi,

jetzt gehts aber wirklich :)

und zwar war ssh --vvv sehr hilfreich, weil ich dadurch den Gegenüber sshd ausmachen konnte:
WinSSHD von bitvise.de
Die habe einen SSH2 Clienten für Windows "Tunnelier", damit muss man am WinSSHD direkt einen erstellten key importieren, also nichts mit .ssh/authorized_keys...
Die keys waren schon alle korrekt erstellt.

Nunja auf www.bitvise.de ist es letztendlich genau beschrieben wie das geht.

Nur leider scheint der Admin das nicht so richtig zu verstehen, wie man den konfiguriert, denn ich kann alle anderen Accounts auf dem Rechner manipulieren, beliebig viele neue anlegen, "Shutdown WinSSHD" wird mir auch angeboten, hab ich aber mal nicht ausprobiert, ich brauch den Zugang ja noch ;)
Und ich habe auf ALLE! Dateien des Servers Zugriff...

Nunja, ich glaub ich werd den guten Admin mal über diese Tatsache informieren... :ugly:

Danke für die Hilfe.
Gruss Andi

temir
13.11.07, 21:41
Hm, der Hersteller rühmt sich eben mit:


Ease of use: WinSSHD was written specifically for the Windows platform so that it is easy to install and configure. In a regular Windows environment, it will work immediately upon installation with no configuring.

andererseits, soll das Programm auf die Group-Settings (auch Domain) Rücksicht nehmen...
Bist du vielleicht lokaler Admin auf der Kiste?