Datenübertragung via SSH bzw. SCP von Windows nach Linux

  • Moinsen!

    Um von Windows auf meinen Linuxserver eine Datei zu übertragen, kann ich beispielsweise eine Powershell öffnen und den Befehl

    scp d:/aaa/bbbb/ccc/text.txt user@192.168.xxx.xxx:~/

    verwenden. Das System fragt das Passwort des Linux-Users ab und die Datei wird ins /home-Verzeichnis des Linux-Users übertragen.

    Wie muss der Befehl lauten, wenn ich nicht "als Windows-User von Windows nach Linux uploaden" sondern als Linux-User "vom Windows-System downloaden" will?

    Der gleiche Befehl fragt zuerst das PW des Linux-Users ab, dann will es das PW von "d" (vom Laufwerk D?). Mangels besserem Wissen gebe ich da das AnmeldePW von Windows an, funzt aber nicht. Und bei der Fehlermeldung wird

    scp: /aaa/bbb/ccc/text.txt: No such file or directory

    ausgegeben, also das "d:" ist verschwunden. Wer kann helfen?

  • Hallo, das sollte dann in etwa so aussehen:

    scp user@192.168.xxx.xxx:d:/aaa/bbbb/ccc/text.txt ~/

    Der Windows-Pfad muß in einfache Anführungszeichen gestellt werden, da der Doppelpunkt von "d:" sonst als Delimiter verstanden wird.

    emmjott63 auf dem Windows-PC läuft ein SSH Server (sshd)?

  • Wichtig ist hier der Windows Pfas wie algl sagt. Und auf dem Windows System muss ein SSH Server laufen. Micrososft bringt einen mit, der ist aber nicht standardmässig installiert.

    Ich sitze gerade nicht an einem Windows Rechner, daher kann ich es nur grob aus dem Kopf sagen: Aber im Grunde Windows Einstellungen öffnen (nicht die alte Systemsteuerung), dort in der Suche nach "Optionale Features" suchen. Dann kommt eine Liste mit zusätzlichem Zeug das man in Windows aktivieren kann - irgendwo dort findet man auch den "SSH Server".

  • Hallo allerseits!

    Vielen Dank für Euren Input! Ich habe keinen Windows-SSH-Server am Laufen. Ich starte in der Powershell eine SSH-Verbindung mittels

     ssh user@IP-Adresse

    und nachfolgender PW-Eingabe. Ich dachte, wenn eine Verbindung etabliert ist, müsste ich "als Linux-User" vom Windows-Rechner (also vom SSH-Client) downloaden können. Das geht so dann wohl nicht. Gäbe es sonst einen Weg, wie ich "auf dem Linux-Server" Dateien vom Windows-Rechner "holen" kann? Vor allem bräuchte ich eine Lösung, die auf der Linux-Seite ohne GUI im Terminal-Fenster funktioniert und auf der Windows-Seite außer CMD oder Powershell keine zusätzliche Software benötigt. Ginge das evtl. mit rsync, wget, oder anderen Linux-Tools?

  • Ich dachte, wenn eine Verbindung etabliert ist, müsste ich "als Linux-User" vom Windows-Rechner (also vom SSH-Client) downloaden können. Das geht so dann wohl nicht.

    nein, die ssh-Anfrage von Linux am Windows-PC muß ja von einem SSH-Server entgegen genommen werden. Da muß ja ein Dienst drauf lauschen.

  • Sorry hab den ersten Post nicht richtig gelesen, bzw falsch gelesen.

    Es geht nur von Windows zu Linux, umgekehrt muss ein sshd auf Windows laufen.


    Muss auf dem Windows Rechner wirklich ein ssh Server laufen? Er baut doch eine ssh Verbindung von seinem lokalen Win Rechner zum Entfernen Linux Rechner auf und kopiert Daten über diesen ssh Tunnel.

    Wenn ich WinSCP mit GUI nutze muss ich ja auch keinen ssh Server auf dem Windows PC laufen lassen.

    Oder verstehe ich hier etwas falsch.

    EDIT: Hab leider im Moment keinen Win Rechner zum Testen da.

    Edited once, last by faxxy (April 30, 2025 at 7:57 PM).

  • faxxy , soweit korrekt. Nur so wie ich ihn verstehe, ich kann da auch falsch liegen, möchte er die Dateien von Linux Rechner aus transferieren. Und das geht m. E. nur dann per ssh, wenn auf dem Windows Rechner ein ssh Server läuft. Falls ich falsch liege, möge man mich korrieren.

  • Hallo Leute,

    habe mich da offenbar undeutlich ausgedrückt. Nochmal von vorne:

    mehrere Linux-Server (wechselnde Anzahl, nur Minimal-Betriebssystem Debian-12 inkl. SSH-Server, keine GUI, headless mode, mit diversen "selfhosted" Apps) im Heimnetz ohne Verbindung nach draußen. Steuerung mittels Windows-PC im Heimnetz.

    Verbindung immer nur von einem Windows-PC zu einem der Linux-Server mittels Powershell und
    ssh user@IP-Adresse
    d. h., der Windows-PC ist immer der SSH-Client.

    Ursprünglich wollte ich den Datenfluss vom Linux-Rechner via Bashscripts steuern, das geht offenbar so nicht. Dann also Plan "B", der Windows-PC muss den Part übernehmen. Kein Beinbruch!

    Vielen Dank für Eure Beiträge!

  • mehrere Linux-Server (wechselnde Anzahl, nur Minimal-Betriebssystem Debian-12 inkl. SSH-Server, keine GUI, headless mode, mit diversen "selfhosted" Apps) im Heimnetz ohne Verbindung nach draußen. Steuerung mittels Windows-PC im Heimnetz.

    Verbindung immer nur von einem Windows-PC zu einem der Linux-Server mittels Powershell und
    ssh user@IP-Adresse
    d. h., der Windows-PC ist immer der SSH-Client.

    Moin, bei mehreren ssh "Zielen" unabhängig davon was Du über die Verbindungen tun möchtest und von was für einem Client OS Du die Verbindung aufbaust, könnte auch ein JumpHost für Dich interessant sein.
    Falls es noch nicht in betracht gezogen wurde.

    Hier wird das ganz gut beschrieben: https://www.mightycare.de/was-ist-ein-jump-server/

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!