Wie kann ich SCP von einem Remote-Computer auf einen lokalen Computer übertragen?

5382
JumpJump

Ich weiß, es gibt einige ähnliche Fragen, die hier gestellt wurden, und ich habe sie gelesen. Allerdings kann ich eine Datei immer noch nicht von einem entfernten Computer auf meinen lokalen Computer kopieren ... Ich bekomme immer die Fehlermeldung "Keine solche Datei" oder Verzeichnis "

Hier ist was ich mache. Ich öffne das Terminal unter MacOS, melde mich bei dem Remote-Computer cdin dem gewünschten Ordner an. Jetzt habe ich unter diesem Ordner eine .txt-Datei, sagen Sie "error.txt", und ich möchte diese Datei auf meinen lokalen Desktop kopieren.

Ich erhalte das Verzeichnis für meinen lokalen Desktop, indem Sie einfach den Desktopordner in das Terminal ziehen und einen Pfad erhalten /Users/myname/Desktop

Dann habe ich die folgenden Befehle ausprobiert (während sich die error.txt unter dem Ordner in der Remote-Maschine befindet):

scp -r error.txt /Users/myname/Desktop 

oder einige Variationen

scp -r error.txt :/Users/myname/Desktop scp -r error.txt ~/Users/myname/Desktop scp -r error.txt Users/myname/Desktop 

aber alle von ihnen geben mir immer den Fehler

cannot create regular file `/Users/myname/Desktop': No such file or directory 

Vielleicht ist es mein Problem, wie ich meinen lokalen Pfad korrigieren kann. Ich kann aber auf meinem lokalen Desktop speichern, indem ich den Pfad /Users/muname/Desktopin meinem lokalen Rechner verwende ...

Irgendwelche hilft? Vielen Dank!

2

2 Antworten auf die Frage

3
Tonny

Sie machen es falsch: Melden Sie sich
in Terminal NICHT an der Remote-Maschine an.
Renn einfach:

scp user@remote:<path>/error.txt /Users/myname/Desktop 

Mit anderen Worten: Führen Sie SCP lokal auf Ihrem Mac aus und fordern Sie ihn auf, die Datei vom Remote-Computer abzurufen. Wenn Sie bereits auf dem Remote-Computer angemeldet sind, müssen Sie von Local (in diesem Fall dem Remote-Computer) auf einen Remote-Computer (in diesem Fall Ihren Mac) scp.

das funktioniert! Vielen Dank. Aber können Sie mir erklären, warum ich SCP lokal ausführen muss? Ich frage das, weil ich meine Datei von meinem lokalen Rechner auf einen entfernten Rechner kopiere. Ich arbeite in meinem lokalen Computer und verwende SCP, um die Datei hochzuladen. Wenn ich also versuche, die Datei herunter zu kopieren, sollte ich zum Remote-Computer gehen und SCP verwenden, um die Datei nach unten zu senden ... JumpJump vor 7 Jahren 0
Sie müssen es nicht lokal ausführen, es ist einfach einfacher. Im Wesentlichen führen Sie es aus, wo sich Ihre Shell befindet, und die erste Shell, die Sie sehen, befindet sich auf Ihrem lokalen System. Christian vor 7 Jahren 0
@JumpJump SCP kann zwischen lokaler <-> lokaler, lokaler <-> entfernter, entfernter <-> lokaler und entfernter <-> Fernsteuerung eine andere entfernte kopieren. Nur eine Frage der richtigen Angabe von Quelle und Ziel. In jedem Fall müssen Sie jedoch für Remote den vollständigen Pfad angeben, einschließlich Anmeldeinformationen für das Remote-System. Es ist nicht erforderlich, zuerst eine Shell auf die Fernbedienung zu laden und sie dann wieder zu kopieren. Es ist nur mehr Ärger. Tonny vor 7 Jahren 1
2
djsmiley2k

Sie müssen den Pfad der Remote - Maschine zur Verfügung zu stellen - Sie würden diese auf dem lokalen Computer ausführen, also die, die Sie die Datei speichern möchten TO .

scp remoteuser@remote.machine.com:/path/to/file/on/server /path/to/save/file/locally 
In der Tat: Und das auf dem MAC. Nicht auf dem Remote-Rechner. Tonny vor 7 Jahren 1
Oh yup, ich sollte das wahrscheinlich sagen: D Danke @Tonny djsmiley2k vor 7 Jahren 0
Vielen Dank! Ich kann nur eine Antwort akzeptieren, also stimme ich Ihnen zu, um mich zu bedanken. JumpJump vor 7 Jahren 1