"cp: failed to access ‘user@remote/home/file’: Not a directory" when copying a file over ssh, using cp file user@remove syntax
I am trying to copy a file over from my machine to my personal space on a university server. On my machine, the file is located at /home/karnivaurus/file.pdf
.
If I connect to the server with ssh [email protected]
, and then run pwd
, it prints /homes/karnivaurus
. If I run ls
, it just displays one directory, foo
. What I want to do then, is to copy this file over to the directory /homes/karnivaurus/foo
.
So, after exiting the ssh, I enter the local home directory /home/karnivaurus
. I then run the command cp paper.pdf [email protected]/foo/paper.pdf
, but this returns the error message cp: failed to access ‘[email protected]/homes/karnivaurus/paper.pdf’: Not a directory
. I have also tried running cp paper.pdf [email protected]/homes/karnivaurus/foo/paper.pdf
, but this gives me the same error message.
What am I doing wrong?
Use scp
DESCRIPTION
scp copies files between hosts on a network. It uses ssh(1) for data
transfer, and uses the same authentication and provides the same security
as ssh(1).
The basic syntax is essentially the same as that of cp
scp paper.pdf [email protected]:/homes/karnivaurus/foo/
or
scp paper.pdf [email protected]:~/foo/
Some other ways to transfer files when you have ssh
access:
-
rsync
:rsync -av paper.pdf [email protected]:/where/to/put/
replace
/where/to/put/
with your desired directory name, it can be a filename too if you want to rename the file on the remote host given the intermediate directories exist.rsync
has a big advantage overscp
that it uses the delta transfer algorithm, so if for some reason the transfer halted in the middle, you can resume the transfer from that place again usingrsync
. -
Direct
ssh
:ssh [email protected] 'cat >/where/to/put/paper.pdf' <paper.pdf
Here transferring the file with direct
ssh
, sending the input file on STDIN ofssh
, which is forwarded to the remote command and running the commandcat >/where/to/put/paper.pdf
on the remote host. After operation the file will be available as/where/to/put/paper.pdf
onserver.uni.ac.uk
, change the path to meet your need.