How do I SCP from remote machine to local machine?

21,196

Solution 1

You are doing it wrong:
In Terminal DON'T login to the remote machine.
Just run:

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

In other words: Run SCP locally on your Mac and tell it to retrieve the file from the remote machine. When you are already logged in on the remote machine you need to scp from local (which is the remote machine in that case) to a remote machine (which is your Mac in that case).

Solution 2

You need to provide the path of the remote machine - you would run this on your local machine, ie the one you want to save the file TO.

scp [email protected]:/path/to/file/on/server /path/to/save/file/locally
Share:
21,196

Related videos on Youtube

JumpJump
Author by

JumpJump

Updated on September 18, 2022

Comments

  • JumpJump
    JumpJump over 1 year

    I know there are some similar questions has been asked here and I did read them... however, I still can not copy a file from a remote machine down to my local computer... I am keep getting error like "No such file or directory"

    Here is what I do. I open terminal on MacOS, log in to the remote machine, cd to the folder I want. Now, under this folder I have a .txt file, say "error.txt", and I want to copy this file down to my local desktop.

    I get the directory for my local desktop by just drag the desktop folder into the terminal and I got a path /Users/myname/Desktop

    Then I tried the following commands (while under the folder the error.txt is inside the remote machine):

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

    or some variations

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

    but all of them are keep giving me the error like

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

    Maybe my trouble is how to correct write my local path? But I can cd to my local desktop by using the path /Users/muname/Desktop while inside my local machine...

    Any helps? Thank you!

  • Tonny
    Tonny over 7 years
    Indeed: And do that on the MAC. Not on the remote machine.
  • JumpJump
    JumpJump over 7 years
    that works! Thank you. But can you explain to me that why I need to run SCP locally? I am asking this because when I copy my file from my local machine up to remote machine. I am operating inside my local machine and using SCP to send the file up. So I though when I try to copy down the file, I should go up to remote machine and use SCP to send the file down...
  • Priyam
    Priyam over 7 years
    You don't have to run it locally, it's just easier. Essentially, you run it wherever your shell is, and the first shell you see is on your local system.
  • Tonny
    Tonny over 7 years
    @JumpJump SCP can copy between local<->local, local<->remote, remote<->local and remote<->another remote. Just a matter of specifiying source and destination properly. But in every case, for remote you need to supply the full path, including login credentials to the remote system. There is no need to get a shell first on the remote and then copy it back. It's just extra hassle.