57

I have Ubuntu 10.04 running through VMPlayer. And I have another machine (Asus RT-N16 router). I am able to connect to the router with telnet and see its file system. How can I copy the file from the local machine (file is /home/user/helloworld-c) to the router (folder */tmp/mnt/discb_1*)?

3 Answers 3

96

Is there possibility to connect via SSH? Maybe you should consider "scp" utitlity. It's very simple, look to the manual page:

man scp

The very basic usage:

scp remote_user@remote_host:/path/to/remote/file /path/to/local/file

and vice versa:

scp /path/to/local/file remote_user@remote_host:/path/to/remote/file
5
  • Thanks, it works! How can I do the same with the whole folder?
    – LA_
    Sep 4, 2011 at 8:47
  • 4
    Use "-r" option: scp -r user@host:/path/file /path/local. Please, mark the answer as accepted if it works.
    – Pavel S.
    Sep 4, 2011 at 9:01
  • Just look to manual page for scp (in terminal, type "man scp"). There is a lot of more options.
    – Pavel S.
    Sep 4, 2011 at 9:02
  • How can I copy folders also with files, this command just copying only files
    – amit_game
    Sep 27, 2015 at 11:37
  • @LA_ you can zip all files. Nov 13, 2015 at 1:20
16

To copy a non empty directory from the remote computer to your computer:

scp -r remoteusername@192.168.1.56:/home/vrc/Desktop/www /home/ourusername/Desktop

To copy a file just exclude the -r option:

scp remoteusername@192.168.1.56:/home/vrc/Desktop/file1 /home/ourusername/Desktop

To copy from your computer to the remote computer, just switch the location and destination in the previous example. For more info do man scp.

11

Another way you can do: ( via pem file )

If you want to use pem file and you are ROOT user:

1. root user:

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt root@00.00.00.11:/you-server-destination-path/

note the colon : between server IP and destination path.

if I can't logged in with root user, see step 2.

2. standard user:

suppose you are ubuntu user with standard privileges.

sudo scp -i ~/servers/your-key.pem ~/your-local-source-path/your-local-file.txt ubuntu@00.00.00.11:/home/ubuntu/

this will put the file in home directory. then login to remote sever with standard user. and do

sudo su

you'll switched to root user. then move the file to destination directory

mv /home/ubuntu/your-local-file.txt /you-server-destination-path/your-local-file.txt

I often encounter this problem, therefore sharing an alternative way to get the job done !

1
  • This worked for me. Thank you. Feb 10, 2020 at 16:03

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