Send files between two online servers?

This can easily and securely be done using the SSH protocol. With PuTTY you can connect to your remote host with a shell and tranfer files using scp:

$ scp -r foo_dir [email protected]:server_dir/

this will copy foo_dir from your connected server to another server foo.org into the directory server_dir there. To copy from foo.org to the connected server:

$ scp -r [email protected]:server_dir/foo_dir ./

Reading your comments it's clear you have the following scenario.

  • Shell Access to one server
  • No Access other than URL to the other server

In this case I think your solution would be;

Wget

If you have the Wget command available to you from the Shell of the first server you can specify the URL to fetch the content from the second server. You can also pass parameters on what content you wish to get (or even fully mirror from the other system).

Lifehacker has a good write up on using Wget

Outside of Wget there are quite a few options depending on your host and host access.

Are the servers Linux (or Unix like)?

In the case of Windows RDP is an option. The RDP client can provide native file transfers between hosts. To initiate this you would RDP to one of the servers and then from that server RDP to the other server configuring file transfer options before hand.

To configure the file transfer abilities;

    Run the Remote Desktop Connection.
    Enter the IP address of the computer you want to connect to.
    Click Options and go to the Local Resources to Select the box for Disk Drives and connect/logon to the remote Windows computer.
    Open Windows Explorer. You'll notice additional hard drives (x on tsclient) that represent the hard drives on the local computer.
    Copy the files between the local and remote computer by dragging and dropping the files in Windows Explorer.

Rsync: Sync delta changes, supports compression, bandwidth throttling, works over SSH or client/daemon, cross platform (Windows Client/Server available). Rsync has a similar syntax to SCP, but with more bells and whistles on control of the copy.

Example:

    rsync /folder1/ [email protected]:/folder1/

SCP: Already mentioned in another answer. Works over SSH, supports compression and recursion.

Example:

    scp -r /folder1/ [email protected]:/folder1/

In the case of both RSync and SCP you will need to shell into one of the servers to initiate the command. If you initiate the command from your workstation with both hosts specified (scp user@host1:/folder1 user@host2:/folder2) it will transfer through that workstation which is not what you want.

FXP:

Lastly (but not really recommended), you could use FTP's File eXchange Protocol (FXP) which is a subset of the FTP protocol to remotely initiate an FTP transfer between two servers. The file transferred would be direct from server to server and not to your initiating connection.

To do so would open you up to a security risk of an FTP Bounce Attack, however, and is usually discouraged. If that risk is acceptable for your purposes (maybe you can adequately firewall between both hosts), than in order to proceed you will need two things.

  1. An FXP compatible FTP server (Pure-FTPd works)
  2. An FXP compatible FTP client (FlashFXP is one)