I try to transfer files from remote computer using ssh to my computer :

scp My_file.txt user_id@server:/Home

This should put My_file.txt in the home folder on my own computer, right? I get

scp/Home: permission denied

Also when I try: ...@server:/Desktop, in order to copy the files from the remote computer to my desktop.

What am I doing wrong?

  • 1
    If you want to copy the file to the home folder of 'user_id' use scp My_file.txt user_id@server: It copies to the users home folder. – Manula Waidyanatha Sep 12 '12 at 9:42

14 Answers 14


Your commands are trying to put the new Document to the root (/) of your machine. What you want to do is to transfer them to your home directory (since you have no permissions to write to /). If path to your home is something like /home/erez try the following:

scp My_file.txt user_id@server:/home/erez/

You can substitute the path to your home directory with the shortcut ~/, so the following will have the same effect:

scp My_file.txt user_id@server:~/

You can even leave out the path altogether on the remote side; this means your home directory.

scp My_file.txt user_id@server:

That is, to copy the file to your desktop you might want to transfer it to /home/erez/Desktop/:

scp My_file.txt user_id@server:/home/erez/Desktop/

or using the shortcut:

scp My_file.txt user_id@server:~/Desktop/

or using a relative path on the remote side, which is interpreted relative to your home directory:

scp My_file.txt user_id@server:Desktop/


As @ckhan already mentioned, you also have to swap the arguments, it has to be


So if you want to copy the file My_file.txt from the server user_id@server to your desktop you should try the following:

scp user_id@server:/path/to/My_file.txt ~/Desktop/

If the file My_file.txt is located in your home directory on the server you may again use the shortcut:

scp user_id@server:~/My_file.txt ~/Desktop/
  • - I've tried: "~/" for 'Home' now, and also "~/Desktop/. Both resulted in : My_file.txt 100% 0 0.0 KB/s 00:00, and I cannot see the files in my folders. What am I still doing wrong ? Thanks a lot! – Erez Sep 12 '12 at 9:31
  • On your second command example, the ~ should be protected from evaluation so as to be evaluated on the remote host: \~ for example. – dan Mar 19 '15 at 12:21
  • 1
    In order to thank you, i registered to the website. Thanks you saved my day:) – Ad Infinitum Jan 17 '17 at 22:12

I came here for "Transfer files using scp: permission denied" because I had the same error.

In my case, the file downloaded with scp would have overwritten a file owned by root, and I wasn't root. In short, check the ownership of the file being overwritten.

  • 2
    In this case it's because he's trying to write to /Home and not being root, he doesn't have write access outside ~/ – Shadur Oct 9 '12 at 9:25
  • 1
    You do help me. – longdeqidao Mar 25 '19 at 7:31

What fixed the "permission denied" for me was, on the remote server, change the folder ownership to root: (This can happen when you are sending a file to a non-root user, and the directory is owned by root!) On the remote machine (copying dest.):

sudo chown (your username) (remote folder)

Also to be sure, enable all permissions on the remote folder: (Not always necessary):

sudo chmod 777 (remote folder)

this seems to be like permissioning issue

The file might not have read permissions as it is delivered to the destination server as the source account.

you need to ensure the file at the source has required permissions especially read permission


chmod 744

then scp the file to destination. This will be resolved

  • 3
    -rw-r--r-- is 644, not 744.  Setting executable permission on a file that is not actually executable can cause problems. – G-Man Says 'Reinstate Monica' Dec 10 '15 at 0:11

As Jinzai pointed out, the remote folder can be owned by the root. In my case, someone (or something) changed the owner of the user's home folder to root. So, when I tried to send a file to a remote server, a permission denied error occurred.

You can check the owner of the folder with the ls -l command:

drwxr-xr-x 5 root root 4096 Oct 21 08:16 user2

In the example above, the user2 folder is owned by root. You can change the owner like this:

chown user2:user2 user2

There is also a faster way to check if the server is blocking a file by scp or not. Try to create a file in the target folder, for example with touch test_file. If you could not create a file in the folder, then you will not be able to send the file here remotely by the same user.


You have the arguments to scp reversed. It's source first, then destination, like cp. man scp for more details.


Permisssion Denied means you are not the root of the server. You just hold an account there. So in that case you need to do this:

sudo scp -r /path2yourFolder/ username@server_Ip:/home/username

This will copy to your home directory on server.

This will also work:

scp -r /path2yourFolder/ username@server_Ip:~/

Amazon Linux AMI

Be sure that you need to set absolute server path, from home in current case:

scp file.txt SSH-ALIAS:/home/YOUR_USER/

The same permissions apply on both sides of the scp. You will get this error if the user lacks permission to write to the destination. The symptoms appear to implicate the source, however in my case the destination was created by root and lacked write permission for the intended user account.


In my case, I also tried to grant all the permission with -R to the folder but still got the error about permission.

I had to remove "/" before the path of the target server and folder. The reason is because Downloads is the first folder I can list out after I ssh to the server, for example: ssh tiennsloit@

This works:

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@

This was not working:

sudo scp -rp /Users/macintosh.vn/Downloads/bbhs_20190301.zip tiennsloit@


Easy fix. Make sure YOU are root. SCP to the remote and it will ask you for that machines root password. Just had this problem that was the solution. You root them root.

  • Since root logins are normally disabled in sshd_config, you should show the OP how to change this (although it's not recommended). – ajgringo619 Nov 21 '19 at 20:17
  • 1
    Why do you insist on using root to copy a (any) file? Notice also the accepted answer from ~7 years ago... – Jeff Schaller Nov 21 '19 at 20:33

For anyone still want to copy files to the root folder, try login into root rather than an admin as below:

scp My_file.txt root@server:/somefolderinroot

scp -r My_folder root@server:/somefolderinroot

Install a windows tool "mRemoteG" from www.mremoteng.org/

Create your SSH connection to the desired box.

Click on the "Transfer File" menu.

It will allow to transfer file easily from Windows to Linux.



before using scp command, make sure that you give permissions read, write and execute to everyone outside. "chmod 777 file_name"

  • you can copy file that are not 777 – Archemar Mar 19 '15 at 10:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.