The Computer Oracle

How to upload local file to server through Linux terminal

Become or hire the top 3% of the developers on Toptal https://topt.al/25cXVn

--

Music by Eric Matyas
https://www.soundimage.org
Track title: Industries in Orbit Looping

--

Chapters
00:00 Question
00:29 Accepted answer (Score 139)
02:23 Answer 2 (Score 35)
03:01 Answer 3 (Score 19)
03:20 Thank you

--

Full question
https://superuser.com/questions/850740/h...

Accepted answer links:
[scp]: http://linux.die.net/man/1/scp

Answer 3 links:
[to Jake’s answer]: https://superuser.com/a/850743/167207

--

Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...

--

Tags
#linux #ssh #putty

#avk47



ACCEPTED ANSWER

Score 149


Sure. Use scp (secure copy) like this:

scp [source file] [username]@[destination server]:.

Of course replace the bracketed [source file], [username] and [destination server] to match your local settings. So if the file was cool_stuff.txt and your username on the remote sever is sanjeev and the destination sever is example.com, the command would be:

scp cool_stuff.txt sanjeev@example.com:.

And the source could also be remote so you could do this to do the opposite of the above example:

scp sanjeev@example.com:cool_stuff.txt .

That command would copy the remote file cool_stuff.txt to whatever local directory you are in. And if you are doing this with multiple files, just use a wildcard (*) like you would for a normal cp command.

Also, the . just indicates the immediate directory path; such as the one you are in right at the moment you run the command or the immediate path that the remote user on the destination server has. But you could also specify a path like /this/path/right/here in the local to remote example:

scp cool_stuff.txt sanjeev@example.com:/this/path/right/here

Or the remote to local example right here:

scp sanjeev@example.com:cool_stuff.txt /this/path/right/here

Now if the remote server does not allow SSH and only SFTP, then SFTP is the way to go. But scp is very useful when you want to just toss a file and not do the whole SFTP process manually from the command line.




ANSWER 2

Score 37


When login to remote server is through ssh key, we can use -i flag to pass our key to the server:

scp -i /path/to/.ssh/id_rsa path/to/file/myFiles.gz myServer.com:/folder/on/server

Syntax

scp -i <identity_file> <src_file> <user>@<server>:<dest_file>

-i identity_file
Selects the file from which the identity (private key) for public key authentication is read.
This option is directly passed to ssh(1).




ANSWER 3

Score 20


To add on to Jake’s answer, you could specify a location—instead of just .—to copy to by adding the path at the end of the URL as:

scp /path/to/file username@servername/ip:/destination/folder/